zoukankan      html  css  js  c++  java
  • SqlSugar 简易操作数据库

    SqlSugar 简易操作数据库

    https://blog.csdn.net/weixin_53522517/article/details/113725683

    提示:记得NuGet先引用 SqlSugar 和 Mysql.Data (连接MySql 数据库要用到)
    先配置要连接的数据库

    public static SqlSugarClient GetDBConnection()
    {
    SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() {
    //数据库链接
    //Mysql数据库
    ConnectionString = "database = 数据库名称;Data Source = 连接ip地址 ; User Id = 账号; pwd =密码;",
    //sql server数据库
    //ConnectionString = "server=服务链接;uid=账号;pwd=密码;database=数据库名称",
    //设置数据库类型(记得随着链接的数据库类型而改动)
    DbType = DbType.MySql,
    //自动释放数据务,如果存在事务,在事务结束后释放
    IsAutoCloseConnection = true,
    //从实体特性中读取主键自增列信息
    InitKeyType = InitKeyType.Attribute
    });
    db.Aop.OnLogExecuting = (sql, pars) =>
    {
    //Console.WriteLine(sql + "\r\n" + db.Utilities.SerializeObject(pars.ToDictionary(it=>it.ParameterName,it=>it.Value)));
    //Console.WriteLine();
    };
    return db;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    再进行简单调用(主要利用SqlSugar ,可以避免写一大串sql 语句)
    public void SqlSugarTest()
    {
    //获取连接数据库配置
    var db = SqlSugarHelper.GetDBConnection();
    //查询
    var list = db.Queryable<Student>().Where(it=>it.Id==1).ToList();
    //查询(带条件)
    var listone = db.Queryable<TBCookieinfo>().Where(it=>it.Id==1).ToList();
    //根据条件查询(包含分页)
    var total = 0;//总数
    var getPage = db.Queryable<Student>().Where(it => it.Sex == "男").ToPageList(2, 2, ref total);

    //添加
    var data = new Student { Name="小黑",Age=18,Sex="男",Money=100,CreateTime=DateTime.Now};
    var count = db.Insertable(data).ExecuteCommand();
    //常规写法
    var countone = db.Insertable(new Student()
    {
    Name="JACK",
    Age=18,
    Sex="男",
    Money=100,
    CreateTime =DateTime.Now
    }).ExecuteCommand();

    //更新
    var stuone = db.Queryable<Student>().Where(q => q.Id == 1).First();
    stuone.Name = "Black JACK";
    var counttwo = db.Updateable(stuone).ExecuteCommand();
    //删除(根据主键删除)
    var countthree = db.Deleteable<Student>(5).ExecuteCommand();

    //两表关联查询(返回一个新类)
    var listone = db.Queryable<Student, StudentInfo>((st, sc) => new JoinQueryInfos(JoinType.Left, st.Id == sc.studentId)).Where((st,sc)=>sc.studentId==1)
    .Select((st, sc) => new NewStudent//新类名称
    {
    Id=st.Id,
    Name=st.Name,
    Age=st.Age,
    Sex=st.Sex,
    Hobby=sc.hobby,
    Classname=sc.classname,
    Teacher=sc.teacher
    }).ToList();


    }


    注:其中添加、修改、删除等数据操作都可通过ExecuteCommand()方法来执行,只需要判断返回影响行数即可知道是否执行成功。
    ————————————————
    版权声明:本文为CSDN博主「遗忘小白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_53522517/article/details/113725683

  • 相关阅读:
    【Javascript】javascript学习 二十二 JavaScript 对象简介
    【Javascript】javascript学习 二十六 JavaScript Boolean(逻辑)对象
    【Javascript】javascript学习 二十九 JavaScript HTML DOM 对象
    【Javascript】javascript学习 二十八 JavaScript RegExp 对象
    【Javascript】javascript学习 二十一 JavaScript 指导方针
    【Javascript】javascript学习 二十三 JavaScript 字符串(String)对象
    【Javascript】javascript学习 三十 JavaScript 浏览器检测
    【Javascript】javascript学习 二十五 JavaScript Array(数组)对象
    【Javascript】javascript学习 二十四 JavaScript Date(日期)对象
    【Javascript】javascript学习 二十七 JavaScript Math(算数)对象
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/15784104.html
Copyright © 2011-2022 走看看