.net core Dapper for MySql


Dapper 語法比較簡單,效率也比較快,速度接近IDataReader 甚至讀取數據超過了DataTable,建議在實際項目可以結合EntityFramework Core 一起使用。

一、創建MySql Table 

CREATE TABLE User (
  Id int(11) NOT NULL AUTO_INCREMENT,
  Name varchar(255) DEFAULT NULL,
  PRIMARY KEY (Id)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

二、創建Model

 public class Users
 {
    public int Id { get; set; }
    public string Name { get; set; }
 }

三、Dapper Helper

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

四、WEBAPI 

 [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,如需更多了解建議查看官方文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM