using System; using System.Collections.Generic; using System.Linq; using Easy4net.Common; using Easy4net.Context; namespace Easy4net.DBUtility { /// /// 数据库帮助类 /// public class DBHelper { Session session; /// /// 根据数据库连接类型名创建一个数据库帮助类 /// /// public DBHelper(ConnectionConfig config) { session = Session.NewInstance(config); } /// /// 根据数据库连接类型名创建一个数据库帮助类 /// /// /// public static DBHelper getInstance(ConnectionConfig config) { return new DBHelper(config); } /// /// 根据主键ID获取对象 /// /// 对象类型 /// 主键ID /// public T Get(object id) where T : new() { return session.Get(id); } /// /// 插入对象数据 /// /// 需要插入的数据对象 /// public int Save(object entity) { return session.Insert(entity); } /// /// 批量插入对象数据 /// /// 数据对象类型 /// 需要插入的数据对象集合 /// public int Save(List entityList) { return session.Insert(entityList); } /// /// 更新对象数据 /// /// 数据对象类型 /// 需要更新的数据对象集合 /// public int Update(Object entity) { return session.Update(entity); } /// /// 批量更新对象数据 /// /// 数据对象类型 /// 需要更新的数据对象集合 /// public int Update(List entityList) { return session.Update(entityList); } /// /// 删除对象数据 /// /// 数据对象类型 /// 需要删除的数据对象 /// public int Remove(T entity) { return session.Delete(entity); } /// /// 批量删除对象数据 /// /// 数据对象类型 /// 需要删除的数据对象集合 /// public int Remove(List entityList) { return session.Delete(entityList); } /// /// 根据主键ID删除数据 /// /// 数据对象类型 /// 主键ID /// public int Remove(object id) where T : new() { return session.Delete(id); } /// /// 执行SQL语句 /// /// SQL命令 /// 参数 /// public int ExcuteSQL(string strSQL, ParamMap param) { return session.ExcuteSQL(strSQL, param); } /// /// 执行SQL语句 /// /// SQL命令 /// public int ExcuteSQL(string strSQL) { return session.ExcuteSQL(strSQL); } /// /// 根据SQL查询数量 /// /// SQL命令 /// public int Count(string strSQL) { return session.Count(strSQL); } /// /// 根据SQL查询记录数 /// /// SQL命令 /// 参数 /// public int Count(string strSQL, ParamMap param) { return session.Count(strSQL, param); } /// /// 根据SQL查询数据 /// /// 对象类型 /// SQL命令 /// public List FindBySql(string strSQL) where T : new() { return session.Find(strSQL); } /// /// 根据SQL查询数据 /// /// 对象类型 /// SQL命令 /// 参数 /// public List FindBySql(string strSQL, ParamMap param) where T : new() { return session.Find(strSQL, param); } /// /// 分页查询返回分页对象 /// /// 对象类型 /// SQL命令 /// 参数 /// public PageResult FindPage(string strSQL, ParamMap param) where T : new() { return session.FindPage(strSQL, param); } /// /// 查询一条数据 /// /// 对象类型 /// SQL命令 /// public T FindOne(string strSQL) where T : new() { return session.Find(strSQL).FirstOrDefault(); } /// /// 查询一条数据 /// /// 对象类型 /// SQL命令 /// 参数 /// public T FindOne(string strSQL, ParamMap param) where T : new() { return session.Find(strSQL, param).FirstOrDefault(); } /// /// 开启事务 /// public void BeginTransaction() { session.BeginTransaction(); } /// /// 根据锁定行为开启事物 /// /// public void BeginTransaction(System.Data.IsolationLevel level) { session.BeginTransaction(level); } /// /// 提交事务 /// public void CommitTransaction() { session.Commit(); } /// /// 回滚事务 /// public void RollbackTransaction() { session.Rollback(); } } }