• Dapper学习笔记(3)-增、删、改、查


    一、建表

    在数据库中建立如下三张表:

     1 CREATE TABLE [dbo].[T_User]
     2 (
     3     [UserId]           [int] IDENTITY(1, 1) PRIMARY KEY NOT NULL,
     4     [Username]         [nvarchar](256) NOT NULL,
     5     [Password]         [nvarchar](500) NULL,
     6     [Email]            [nvarchar](256) NULL,
     7     [PhoneNumber]      [nvarchar](30) NULL,
     8 )
     9 
    10 CREATE TABLE [dbo].[T_Role]
    11 (
    12     [RoleId]           [int] IDENTITY(1, 1) PRIMARY KEY NOT NULL,
    13     [RoleName]         [nvarchar](256) NOT NULL,
    14 )
    15 
    16 CREATE TABLE [dbo].[T_UserRole]
    17 (
    18      [Id]      [int] IDENTITY(1, 1) PRIMARY KEY NOT NULL,
    19      [UserId]  [int] FOREIGN KEY REFERENCES [dbo].[T_User] ([UserId]) NOT NULL,
    20      [RoleId]  [int] FOREIGN KEY REFERENCES [dbo].[T_Role] ([RoleId]) NOT NULL
    21 )

    在本篇中只会用到T_Role表,剩下的表在后面的文章中将会涉及到。

    二、创建实体类

     1     public class User
     2     {
     3         public User()
     4         {
     5             Role = new List<Role>();
     6         }
     7 
     8         public int UserId { get; set; }
     9         public string UserName { get; set; }
    10         public string Password { get; set; }
    11         public string Email { get; set; }
    12         public string PhoneNumber { get; set; }
    13         public List<Role> Role { get; set; }
    14     }
    15 
    16     public class Role
    17     {
    18         public int RoleId { get; set; }
    19         public string RoleName { get; set; }
    20     }

    在创建实体类时,属性名称一定要与数据库字段一一对应。在本篇中只会用到Role实体类,User实体类在后续文章中会涉及并且会有一定程度上的修改。

    三、操作

    在进行增、删、改、查操作之前,应先建立与数据库的连接,具体代码如下:

    1     private static readonly string connectionString = @"Data Source=.;Initial Catalog=test;User Id=sa;Password=sa@126.com";
    2 
    3     private SqlConnection OpenConnection()
    4     {
    5         SqlConnection connection = new SqlConnection(connectionString);
    6         connection.Open();
    7         return connection;
    8     }

    1、查询实体列表

    1     private List<Role> QueryRoleData()
    2     {
    3         using (IDbConnection con = OpenConnection())
    4         {
    5             string query = @"select * from T_Role";
    6             return con.Query<Role>(query, null).ToList<Role>();
    7         }
    8     }

    2、添加实体

     1     private int AddRole()
     2     {
     3         using (IDbConnection con = OpenConnection())
     4         {
     5             Role role = new Role();
     6             role.RoleName = "开发人员";
     7             string strSql = @"insert into T_Role(RoleName)values(@RoleName)";
     8             int result = con.Execute(strSql, role);
     9             return result;
    10         }
    11     }

    3、修改实体

    1     private int UpdateRole(Role role)
    2     {
    3         using (IDbConnection con = OpenConnection())
    4         {
    5             role.RoleName = "开发主管";
    6             string query = "update T_Role set RoleName=@RoleName where RoleId=@RoleId";
    7             return con.Execute(query, role);
    8         }
    9     }

    4、删除实体

    1     private int DeleteRole(Role role)
    2     {
    3         using (IDbConnection con = OpenConnection())
    4         {
    5             string query = "delete from T_Role where RoleId=@RoleId";
    6             return con.Execute(query, role);
    7         }
    8     }
  • 相关阅读:
    自定义input标签输入框
    sys.argv 启动时可以传入变量
    falcon 监控
    wrk 压测工具
    mysql UPDATE和REPLACE
    tesseract识别图片中文字
    centos 查看日志 & 查找文件、目录、内容 & centos查看磁盘使用情况
    压力测试
    tensorflow + scikit-learn
    Pycharm快捷键配置
  • 原文地址:https://www.cnblogs.com/mengshi/p/4778103.html
Copyright © 2020-2023  润新知