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();
}
}
}