1. 程式人生 > 實用技巧 >SpringCache快取處理

SpringCache快取處理

轉載:

首先使用NuGet包管理器搜尋dapper安裝到你所要使用的專案中

直接上程式碼,有寫過dbhelper的看這個應該比較簡單

資料庫程式碼:無註釋這些是建立資料庫最基礎的

use master
go
create database DapperTest
go
use DapperTest
go
create table UserInfo(
     Id int primary key identity(1,1),
     LoginName nvarchar(20)  null,
     LoginPWD nvarchar(20) null,
     URealName nvarchar
(20) null, uStatus [int] NOT NULL, uRemark [nvarchar](max) NULL, uCreateTime [datetime] NOT NULL, ) insert into UserInfo values('admin','admin','admin',1,'admin的一天生活',2020-1-1) insert into UserInfo values('a','a','a',1,'admin的言論',2020-1-1) go update UserInfo set uStatus=0 where Id=1 go select
* from UserInfo

Vs中的程式碼:

資料模型資料表對應的實體物件。

 public class UserInfo
    {
        /// <summary>
        /// 主鍵
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 使用者名稱
        /// </summary>
        public string LoginName { get; set; }
        /// <summary>
        /// 密碼
        /// </summary>
        public string LoginPWD  { get; set; }
        /// <summary>
        /// 真實名字
        /// </summary>
        public string URealName { get; set; }
        /// <summary>
        /// 狀態,0表示正常,1表示刪除
        /// </summary>
        public int uStatus { get; set; }
        /// <summary>
        /// 評論
        /// </summary>
        public string uRemark { get; set; }
        /// <summary>
        /// 建立時間
        /// </summary>
        public DateTime uCreateTime { get; set; }
    }

 寫對應的增刪改查

public class DapperHelper
    {
        //第一種寫法
        private readonly string sqlconnection = "Data Source=.;Initial Catalog=DapperTest;User Id=sa;Password=sa;";
        //第二種寫法
        private readonly string sqlcon = "server=.;database=DapperTest;uid=sa;pwd=sa;";
        //第三種寫法在App.config中寫入

        //獲取Sql Server的連線資料庫物件。SqlConnection
        public SqlConnection sqlCon()
        {
            SqlConnection sql = new SqlConnection(sqlconnection);
            sql.Open();
            return sql;
        }
        /// <summary>
        /// 新增單條資料
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public  int InsertUserInser(UserInfo user)
        {
            using (var db=sqlCon())
            {
                string query = "insert into UserInfo values(@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime)";
                return db.Execute(query, user);
            }
        }
        /// <summary>
        /// 新增多條資料
        /// </summary>
        /// <param name="ulist"></param>
        /// <returns></returns>
        public int MultInsertUser(List<UserInfo> ulist)
        {
            using (var db = new SqlConnection(sqlconnection))
            {
                string query = "insert into UserInfo values(@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime)";
                return db.Execute(query, ulist);
            }
        }
        /// <summary>
        /// 刪除  真刪除 可以增加一個偽刪除
        /// </summary>
        /// <param name="Uid"></param>
        /// <returns></returns>
        public int UserDelete(int Uid)
        {
            using (var db = new SqlConnection(sqlcon))
            {
                string query = "delete  UserInfo where Id=@Uid";
                var param = new DynamicParameters();
                param.Add("Uid", Uid);
                return db.Execute(query, param);

            }
        }
        public int MultDeleteUser(List<UserInfo> ulist)
        {
            using (var db = new SqlConnection(sqlconnection))
            {
                string query = "delete  UserInfo where Id=@Id";
                return db.Execute(query, ulist);
            }
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public int UserUpdate(UserInfo user)//int Id
        {
            //@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime
            using (var db = new SqlConnection(sqlconnection))
            {
                //string query = $"update UserInfo set LoginName=@LoginName,LoginPWD=@LoginPWD,URealName=@URealName,uStatus=@uStatus,uRemark=@uRemark,uCreateTime=@uCreateTime, where Id={Id}";
                string query = $"update UserInfo set LoginName=@LoginName,LoginPWD=@LoginPWD,URealName=@URealName,uStatus=@uStatus,uRemark=@uRemark,uCreateTime=@uCreateTime  where Id=@Id";
                return db.Execute(query, user);
            }
        }
        public List<UserInfo> GetAll()
        {
            using (var db = new SqlConnection(sqlconnection))
            {
                string query = "select * from UserInfo";
                return db.Query<UserInfo>(query).ToList();

            }
        }
        /// <summary>
        /// 查詢指定的資料
        /// </summary>
        /// <param name="uids">查詢條件</param>
        /// <returns></returns>
        public List<UserInfo> GetAllIn2(int Id)
        {
            using (var db = new SqlConnection(sqlconnection))
            {
                string query = $"select * from UserInfo where Id={Id}";
                return db.Query<UserInfo>(query).ToList();
            }
        }

在main中呼叫測試的方法,和資料庫裡面的資料同步

class Program
    {
        public static DapperHelper db = new DapperHelper();
       
        static void Main(string[] args)
        {
            //DapperHelper db = new DapperHelper();
            //var data=db.InsertUserInser(new UserInfo()
            //{
            //    LoginName = "admin123",
            //    LoginPWD = "admin123",
            //    URealName = "張三",
            //    uStatus = 0,
            //    uRemark = "admin123發表的言論",
            //    //時間格式轉換
            //    //uCreateTime = DateTime.Parse("2020-07-25")
            //    uCreateTime=DateTime.Now
            //});
            //已下兩種都是可以修改成功的
            //int Id = int.Parse(Console.ReadLine());
            //var data = db.UserUpdate(new UserInfo()
            //{
            //    LoginName = "admin123",
            //    LoginPWD = "admin123",
            //    URealName = "張三2",
            //    uStatus = 0,
            //    uRemark = "admin123發表的言論",
            //    //時間格式轉換
            //    //uCreateTime = DateTime.Parse("2020-07-25")
            //    uCreateTime = DateTime.Now,
            //    Id=Id
            //}, Id);
            //int Id = int.Parse(Console.ReadLine());
            //var data = db.UserUpdate(new UserInfo()
            //{
            //    LoginName = "admin123",
            //    LoginPWD = "admin123",
            //    URealName = "張三2",
            //    uStatus = 0,
            //    uRemark = "admin123發表的言論",
            //    //時間格式轉換
            //    //uCreateTime = DateTime.Parse("2020-07-25")
            //    uCreateTime = DateTime.Now,
            //    Id = Id
            //});
            //if (data > 0)
            //{
            //    Console.WriteLine("修改成功");
            //}
            //檢視
            //var data2 = db.GetAll();
            //foreach (var item in data2)
            //{
            //    Console.WriteLine("使用者名稱:"+item.URealName+"    "+"賬號:"+item.LoginName);
            //}
            //while (true)
            //{
            //    int Id = int.Parse(Console.ReadLine());
            //    var data3 = db.GetAllIn2(Id);
            //    foreach (var item in data3)
            //    {
            //        Console.WriteLine("使用者名稱:" + item.URealName + "    " + "賬號:" + item.LoginName);
            //    }

            //    
            //}
            //刪除
            int Id = int.Parse(Console.ReadLine());
            var data4 = db.UserDelete(Id);
            if (data4 > 0)
            {
                Console.WriteLine("刪除成功");
            }
        }
    }