在C#的控制台應用中使用Dapper鏈接MySQL並執行一些增刪改查


一、首先先創建一個C#的控制台應用

 

二、然后添加上必要的命名空間

using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
using System.Data;
using Dapper;
using System.Linq;

 

三、首先配置好一個數據庫中存在的類表:

class Info
    {
        public int action_id { get; set; }
        public int parent_id { get; set; }
        public string action_code { get; set; }
        public string relevance { get; set; }
    }

 

 

四、添加Dapper和MYSQL的擴展包

添加Dapper擴展包

添加Mysql擴展包

 

最后在最右邊的管理中可以查看到自己剛剛添加的擴展:

 

五、添加數據庫鏈接代碼

//數據庫連接配置信息;
public static string constr = "server = localhost;User Id = root;password = 123456;Database = ecshop";

  再添加無條件查詢的代碼:

        /// <summary>
        /// 無條件查詢所有;
        /// </summary>
        /// <returns></returns>
        public static List<Info> Query()
        {
            using (IDbConnection connection = new MySqlConnection(constr))
            {
                return connection.Query<Info>("select * from sdx_admin_action").ToList();
            }
        }    

 

執行結果如下:

 

以下為源碼包含增刪改查:

using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
using System.Data;
using Dapper;
using System.Linq;

namespace SelectAll
{
    class Info
    {
        public int action_id { get; set; }
        public int parent_id{ get; set; }
        public string action_code { get; set; }
        public string relevance { get; set; }
    }
    class Program
    {
        //數據庫連接配置信息;
        public static string constr = "server = localhost;User Id = root;password = 123456;Database = ecshop";

        static void Main(string[] args)
        {
            /*Info One = new Info();
            One.parent_id = 2;
            One.action_code = "小弱雞";
            One.relevance = "here~";*/

            //插入
            //Insert(SetInfo(3,"小弱雞三號","hahahh"));

            //批量插入
            /*List<Info> Infos = new List<Info>();
            Infos.Add(SetInfo(4, "小弱雞四號", "sdfeff"));
            Infos.Add(SetInfo(5, "小弱雞五號", "sdfsdfdf"));
            Infos.Add(SetInfo(6, "小弱雞六號", "sdfe多維ff"));

            Insert(Infos);*/

            //刪除;
            //Delete(SetInfo(2, "小弱雞", "here~"));

            //更新
            //Update(SetInfo(2, "小弱雞二號·改", "hahahh"));

            List<Info> test = Query();
            string TestInfo = "";

            for (int i = 0; i < test.Count; i++)
            {
                TestInfo = test[i].action_id.ToString() + " , " + test[i].parent_id + " , " + test[i].action_code + " , " + test[i].relevance;
                Console.WriteLine(TestInfo);
            }

            Console.ReadLine();
        }

        /// <summary>
        /// 無條件查詢所有;
        /// </summary>
        /// <returns></returns>
        public static List<Info> Query()
        {
            using (IDbConnection connection = new MySqlConnection(constr))
            {
                return connection.Query<Info>("select * from sdx_admin_action").ToList();
            }
        }

        /// <summary>
        /// 設置Info對象並返回
        /// </summary>
        /// <param name="var_parent_id"></param>
        /// <param name="var_action_code"></param>
        /// <param name="var_relevance"></param>
        /// <returns></returns>
        public static Info SetInfo(int var_parent_id,string var_action_code, string var_relevance)
        {
            Info tmp = new Info();
            tmp.parent_id = var_parent_id;
            tmp.action_code = var_action_code;
            tmp.relevance = var_relevance;
            return tmp;
        }

        /// <summary>
        /// 執行插入,插入單條信息;
        /// </summary>
        /// <returns></returns>
        public static int Insert(Info varInfo)
        {
            using (IDbConnection connection = new MySqlConnection(constr))
            {
                return connection.Execute(
                    "insert into sdx_admin_action(parent_id,action_code,relevance) values(@parent_id,@action_code,@relevance)", varInfo);
            }
        }

        /// <summary>
        /// 批量執行插入;
        /// </summary>
        /// <param name="varInfo"></param>
        /// <returns></returns>
        public static int Insert(List<Info> varInfo)
        {
            using (IDbConnection connection = new MySqlConnection(constr))
            {
                return connection.Execute(
                    "insert into sdx_admin_action(parent_id,action_code,relevance) values(@parent_id,@action_code,@relevance)",varInfo
                    );
            }
        }

        /// <summary>
        /// 刪除指定條件的行信息;
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public static int Delete(Info info)
        {
            using (IDbConnection connection = new MySqlConnection(constr))
            {
                return connection.Execute(
                    "delete from sdx_admin_action where action_code=@action_code",info
                    );
            }
        }

        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public static int Update(Info info)
        {
            using (IDbConnection connection = new MySqlConnection(constr))
            {
                return connection.Execute(
                    "Update sdx_admin_action set action_code=@action_code where parent_id=@parent_id",info
                    );
            }
        }
    }
}

參考文檔:https://www.jianshu.com/p/c4ca2989d26a


免責聲明!

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



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