Dapper 語法比較簡單,效率也比較快,速度接近IDataReader 甚至讀取數據超過了DataTable,建議在實際項目能夠結合EntityFramework Core 一塊兒使用。mysql
CREATE TABLE User ( Id int(11) NOT NULL AUTO_INCREMENT, Name varchar(255) DEFAULT NULL, PRIMARY KEY (Id) ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
public class Users { public int Id { get; set; } public string Name { get; set; } }
public class DapperContext {
//鏈接字符串 const string connectionString = "Server=localhost;port=3306;Database=testDB;Uid=root;Pwd=123abc;SslMode=None;"; public static MySqlConnection Connection(){ var mysql=new MySqlConnection(connectionString); mysql.Open(); return mysql; } }
[Route("api/[controller]")] public class UserController : Controller { /// <summary> /// 獲取全部用戶數據 /// </summary> [HttpGet] public List<Users> GetUsers(GetUserInput input){ //分頁數據 List<Users> users = new List<Users>(); using(IDbConnection connection=DapperContext.Connection()){ users = connection.Query<Users>("select * from user limit @PageIndex,@PageSize",new { PageIndex=input.PageIndex*input.PageSize, PageSize=input.PageSize }).ToList(); } return users; } /// <summary> /// 根據用戶ID 查詢 /// </summary> [HttpGet("{id}")] public Users Get(int id) { using(IDbConnection connection=DapperContext.Connection()){ return connection.Query<Users>("select * from user where id=@Id",new {@Id=id}).FirstOrDefault(); } } /// <summary> /// 插入數據 /// </summary> [HttpPost] public void Post([FromBody]Users value) { using(IDbConnection connection=DapperContext.Connection()){ connection.Execute("insert into user values(@Id,@Name)", new { value.Id,value.Name }); } } /// <summary> /// 修改數據 /// </summary> [HttpPut("{id}")] public void Put(int id, [FromBody]string value) { using(IDbConnection connection=DapperContext.Connection()){ connection.Execute("update user set name=@Name where id=@Id", new { Id = id, Name = value }); } } /// <summary> /// 刪除數據 /// </summary> [HttpDelete("{id}")] public void Delete(int id) { using(IDbConnection connection=DapperContext.Connection()){ connection.Execute("delete from user where id=@Id", new { Id = id }); } } }
只是簡單的使用Dapper,如需更多瞭解建議查看官方文檔。sql