public T Query(string sql, object param)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result= dbConnection.QueryFirstOrDefault<T>(sql, param);
dbConnection.Close();
return result;
}

}

/// <summary>
/// 多用于事务
/// </summary>
/// <param name="dbConnection"></param>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <param name="transaction"></param>
/// <returns></returns>
public T Query(IDbConnection dbConnection, string sql, object param, IDbTransaction transaction = null)
{
return dbConnection.QueryFirstOrDefault<T>(sql, param, transaction);
}


public async Task<T> QueryAsync(string sql, object param)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result= await dbConnection.QueryFirstOrDefaultAsync<T>(sql, param);
dbConnection.Close();
return result;
}
}
public async Task<T> QueryAsync(IDbConnection dbConnection, string sql, object param, IDbTransaction transaction = null)
{
return await dbConnection.QueryFirstOrDefaultAsync<T>(sql, param, transaction);
}

public IList<T> QueryToList(string sql, object param)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result = dbConnection.Query<T>(sql, param).ToList();
dbConnection.Close();
return result;
}
}
public IList<T> QueryToList<T>(string sql, object param)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result = dbConnection.Query<T>(sql, param).ToList();
dbConnection.Close();
return result;
}
}
public IList<T> QueryToList(IDbConnection dbConnection, string sql, object param, IDbTransaction transaction = null)
{
return dbConnection.Query<T>(sql, param, transaction).ToList();
}
public async Task<IList<T>> QueryToListAsync(string sql, object param)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result = (await dbConnection.QueryAsync<T>(sql, param)).ToList();
dbConnection.Close();
return result;
}
}

public async Task<IList<T>> QueryToListAsync<T>(string sql, object param)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result = (await dbConnection.QueryAsync<T>(sql, param)).ToList();
dbConnection.Close();
return result;
}
}

public async Task<IList<T>> QueryToListAsync(IDbConnection dbConnection, string sql, object param, IDbTransaction transaction = null)
{
return (await dbConnection.QueryAsync<T>(sql, param, transaction)).ToList();
}
/// <summary>
/// 查询数据库,返回指定ID的对象
/// </summary>
/// <param name="id">主键的值</param>
/// <returns></returns>
public T FindById(object id)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result = dbConnection.Get<T>(id);
dbConnection.Close();
return result;
}
}
public T FindById(IDbConnection dbConnection, object id, IDbTransaction transaction = null)
{
return dbConnection.Get<T>(id, transaction);
}
public T GetById(int id)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result = dbConnection.Get<T>(id);
dbConnection.Close();
return result;
}
}
public T GetById(IDbConnection dbConnection, int id, IDbTransaction transaction = null)
{
return dbConnection.Get<T>(id, transaction);
}

public async Task<T> GetByIdAsync(int id)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result= await dbConnection.GetAsync<T>(id);
dbConnection.Close();
return result;
}
}
public async Task<T> GetByIdAsync(IDbConnection dbConnection, int id, IDbTransaction transaction = null)
{
return await dbConnection.GetAsync<T>(id, transaction);
}
/// <summary>
/// 查询数据库,返回指定ID的对象
/// </summary>
/// <param name="id">主键的值</param>
/// <returns></returns>
public async Task<T> FindByIdAsync(object id)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result= await dbConnection.GetAsync<T>(id);
dbConnection.Close();
return result;
}
}
public async Task<T> FindByIdAsync(IDbConnection dbConnection, object id, IDbTransaction transaction = null)
{
return await dbConnection.GetAsync<T>(id, transaction);
}
/// <summary>
/// 插入返回主键
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns>
/// //string sql = @"Insert into users (UserName) values (@name);
/// //object param=new Object(){ name = member.UserName}
/// </returns>
public async Task<int> InsertedIdAsync(string sql, object param = null)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
sql = sql.TrimEnd(';') + ";select LAST_INSERT_ID()";
var result= await dbConnection.ExecuteScalarAsync<int>(sql, param);
dbConnection.Close();
return result;
}
}
public async Task<int> InsertedIdAsync(IDbConnection dbConnection, string sql, object param = null, IDbTransaction transaction = null)
{
sql=sql.TrimEnd(';') +";select LAST_INSERT_ID()";
return await dbConnection.ExecuteScalarAsync<int>(sql, param, transaction);
}
public int InsertedId(string sql, object param = null)
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
sql = sql.TrimEnd(';') + ";select LAST_INSERT_ID()";
var result= dbConnection.ExecuteScalar<int>(sql, param);
dbConnection.Close();
return result;
}
}
public int InsertedId(IDbConnection dbConnection, string sql, object param = null, IDbTransaction transaction = null)
{
sql = sql.TrimEnd(';') + ";select LAST_INSERT_ID()";
return dbConnection.ExecuteScalar<int>(sql, param, transaction);
}

public IList<T> GetAll()
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result = dbConnection.GetAll<T>().ToList();
dbConnection.Close();
return result;
}
}
public IList<T> GetAll(IDbConnection dbConnection, IDbTransaction transaction = null)
{
return dbConnection.GetAll<T>(transaction).ToList();
}

public async Task<IList<T>> GetAllAsync()
{
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
var result = (await dbConnection.GetAllAsync<T>()).ToList();
dbConnection.Close();
return result;
}
}
public async Task<IList<T>> GetAllAsync(IDbConnection dbConnection, IDbTransaction transaction = null)
{
return (await dbConnection.GetAllAsync<T>(transaction)).ToList();
}

public bool Insert(T entity)
{
bool result = false;
using (IDbConnection dbConnection = Connection)
{
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
result = dbConnection.Insert(entity) > 0;
dbConnection.Close();
}
return result;
}
public bool Insert(T entity, IDbConnection dbConnection, IDbTransaction transaction = null)
{
bool result = dbConnection.Insert(entity, transaction) > 0;
return result;
}


 

 

此随笔或为自己所写、或为转载于网络。仅用于个人收集及备忘。