一共三个步骤:
一、先完成准备工作
备注:我这是 .Net6.0的项目
1.引入Nuget包 Dapper.Contrib 和 MySql.Data 两个包
2.在appsettings.json配置文件中写好数据库连接字符串路径
二、书写MySqlDBHelper数据库连接辅助类
1.MySqlDBHelper数据库连接辅助类
using MySql.Data.MySqlClient;
namespace ReadJson_.Net6._0.Utils
{
public class MySqlDBHelper
{
/// <summary>
/// 数据库连接字符串
/// </summary>
public static string DB_CONNECTION_STRING { get; set; }
/// <summary>
/// 获取数据库连接
/// </summary>
/// <returns></returns>
public static MySqlConnection GetSqlConnection()
{
return new MySqlConnection(DB_CONNECTION_STRING);
}
}
}
2.绑定数据库连接字符串
三、在控制器中书写,需要的操作方法
using Dapper;
using Microsoft.AspNetCore.Mvc;
using ReadJson_.Net6._0.Model;
using ReadJson_.Net6._0.Utils;
namespace ReadJson_.Net6._0.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class DapperController : ControllerBase
{
/// <summary>
/// 查询
/// </summary>
/// <returns></returns>
[HttpGet("Select")]
public object Select()
{
string sql = $@"SELECT * FROM School";
using var conn = MySqlDBHelper.GetSqlConnection();
#region 异步多线程使用
//await conn.OpenAsync();
//var result = await conn.QueryAsync<School>(sql).ConfigureAwait(false);
#endregion
#region 同步使用
conn.Open();
var result = conn.Query<School>(sql).ToList();
#endregion
return Ok();
}
/// <summary>
/// 添加
/// </summary>
/// <returns></returns>
[HttpGet("Add")]
public object Add(string id, string name)
{
string sql = $@"INSERT INTO School(id,`Name`)
VALUES(@id,@Name)";
using var conn = MySqlDBHelper.GetSqlConnection();
#region 异步多线程使用
//await conn.OpenAsync();
//var result = await conn.ExecuteAsync(sql, new { id = id, name }).ConfigureAwait(false);
#endregion
#region 同步使用
conn.Open();
var result = conn.Execute(sql, new { id = id, name });
#endregion
return Ok();
}
/// <summary>
/// 修改
/// </summary>
/// <returns></returns>
[HttpGet("Update")]
public object Update(string id)
{
string sql = $@"UPDATE School SET `Name`= '某某某大学' WHERE id IN @id";
using var conn = MySqlDBHelper.GetSqlConnection();
#region 异步多线程使用
//await conn.OpenAsync();
//var result = await conn.ExecuteAsync(sql, new { id = id }).ConfigureAwait(false);
#endregion
#region 同步使用
conn.Open();
var result = conn.Execute(sql, new { id = id });
#endregion
return Ok();
}
/// <summary>
/// 删除
/// </summary>
/// <returns></returns>
[HttpGet("Delete")]
public object Delete(string id)
{
string sql = $@"Delete School WHERE id IN @id";
using var conn = MySqlDBHelper.GetSqlConnection();
#region 异步多线程使用
//await conn.OpenAsync();
//var result = await conn.ExecuteAsync(sql, new { id = id }).ConfigureAwait(false);
#endregion
#region 同步使用
conn.Open();
var result = conn.Execute(sql, new { id = id });
#endregion
return Ok();
}
}
}
Dapper框架:我这里只是简单的罗列了一些常用的同步&异步的增删改查方法,Dapper还有更多的操作方法,大家可以多加学习!!!