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

  • 相关阅读:
    (转)超过 130 个你需要了解的 vim 命令
    ubuntu下解压文件命令大全(转)
    HDU 4681 String
    Linux使用过程中常见问题及其解决方法
    Linux 命令 及 简单操作 学习
    HDU 4666 Hyperspace (最远曼哈顿距离)
    POJ 2049 Finding Nemo
    HDU 4655 Cut Pieces
    <textarea>标签的使用
    数据库插入失败 和回滚
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/15784104.html
Copyright © 2011-2022 走看看