nhibernate 的增删改查集成类

本文介绍了一个使用NHibernate进行数据库操作的示例类DBobject。该类包括连接数据库、保存、更新、删除数据及执行SQL查询的功能。通过示例展示了如何在.NET环境中利用NHibernate框架进行数据库交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Data;
using System.Web;
using NHibernate;
using System.Collections;

    public class DBobject
    {
        NHibernate.Cfg.Configuration config = null;
        ISessionFactory factory = null;
        ISession session = null;
        ITransaction trans = null;
        public DBobject()
        {
             config = new NHibernate.Cfg.Configuration().Configure();
            通过配置对象来产生一个SessionFactory对象,这是一个Session工厂,
            那么Session是用来干什么的呢?一个Session就是由NHibernate封装
            的工作单元,我们可以近似地认为它起到ADO.Net中Connection的作用。
             factory = config.BuildSessionFactory();
             session = factory.OpenSession();
            这里,开启一个由NHibernate封装的事务,当然,在这里最终代表
            的还是一个真实的数据库事务,但是我们已经不需要再区分到底是
            trans = session.BeginTransaction();
        }
        public bool Save(object obj)
        {
            try
            {
                session.Save(obj);
                trans.Commit();
                return true;
            }
            catch (Exception ex)
            {
                trans.Rollback();
                return false;
            }
        }
        public bool Update(object obj,int id)
        {
            try
            {
                session.Update(obj,id);
                trans.Commit();
                return true;
            }
            catch (Exception ex)
            {
                trans.Rollback();
                return false;
            }
        }
        public bool Delete(object obj, int id)
        {
            try
            {
                session.Delete(session.Get(obj.ToString(),id));
                trans.Commit();
                return true;
            }
            catch (Exception ex)
            {
                trans.Rollback();
                return false;
            }
        }
        public IList getList(string sql)
        {
            return session.CreateQuery(sql).List();
        }
    }

转载于:https://www.cnblogs.com/xusui/archive/2011/06/16/2082617.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值