.net core +mysqlSugar(最为简单的增删改查)

首先建立.net Core API - empty 这个就不说了

然后创建新的Controller

记得添加路由

[Route("api/Users")]

然后在Nuget Packages安装 所需安装包

这里是用mysql所以下载如下的mysqlSugarCore

(切记不要忘记安装Mysql.Data)

创建实例化class文件DbText.cs

用于连接数据库,初始化

private DbText()
        {
        }
        public static string ConnectionString { get; set; }

        public static SqlSugarClient GetInstance()
        {
            var db = new SqlSugarClient(ConnectionString);
            return db;
        }

当然记得引用MySqlSugar的库

然后在appsetting.json中创建连接字符串

点击Startup.cs在ConfigureServices函数中:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            DbText.ConnectionString = Configuration.GetConnectionString("DefaultConnection");
        }

然后创建model层这里我根据数据库中的字段来创建

Ok接下来前期的工作完成了 ,利用sqlSugar进行基本的增删改查操作

Select

创建select接口

[HttpPost("select")]
        public string Select(Users user)
        {
            using (var db = DbText.GetInstance()) {
                //查询所有数据的前五条并转化为Json格式
                var top5 = db.Queryable<Users>().OrderBy(it => it.username).ToJson();
                //简单的条件查询,查询表中所有女生的名字
                var girl = db.Queryable<Users>().Where(it =>it.sex ==0).Select("name").ToJson();
                return girl;
            }
        }

点击运行后 用postman进行调试可以看到从数据库中取出的前5条数据以JSon的格式返回或者表中女生的名字

 Insert

接下来尝试用sqlsugar实现增加的操作

 [HttpPost("add")]

        public string Register(Users user)

        {

            //这里直接不加判断就增加一条学生数据

            using (var db = DbText.GetInstance())

            {

                var status = db.Insert(user);

                //查询刚插入的sex是否有值

                var sex = db.Queryable<Users>().Single(it => it.userid == status.ObjToInt()).sex;

                return "status:"+status.ToString() + ",sex:" + sex;

            }

        }

结果

发现数据库汇总的确多了一条数据插入成功

顺便来研究一下这个db.Insert()的返回值到底是什么东西

我换了一组值进行再次post

可以发现status从7 变成了8  我观察数据库发现这就是我的主键自增字段id的值(话说为什么就不是bool值呢)

Delete

然后来进行删除操作

 [HttpPost("delete")]
        public bool RemoveUser(Users user)
        {

            using (var db = DbText.GetInstance())
            {
                //删除根据主键
                // db.Delete<Users, int>(10);

                //主键批量删除
                //db.Delete<Users, string>(new string[] { "100", "101", "102" });

                //假删除
                //db.FalseDelete<school>("is_del", 100);
                //等同于 update school set is_del=1 where id in(100)
                //db.FalseDelete<school>("is_del", it=>it.id==100);

                //同时满足条件删除
                bool status = db.Delete(new Users() { username = "issa2018",password = "123457"});

                return status;
            }
        }

运行postman后发现返回false  我去 难道不是我想的这样??

然后我改变代码

bool status = db.Delete(new Users() { userid = 8});

这样就返回为true了 所以这个方法只能用于主键为参数!!!

最无语的就是我将代码改成如下(密码是错误的)以为他要同时满足条件才能删除

bool status = db.Delete(new Users() { userid =7,password = "123445"});

但返回结果却是true(也就是仍然删除了userid为7的列)

最后发现满足多条件删除得这么来,感觉稍微有点麻烦啊

bool status = db.Delete<Users>("[email protected] and [email protected]", new { username = user.username,password = user.password});

那我还不如这样

bool status = db.Delete<Users>("username=‘"+user.username+"‘ and password=‘"+user.password+"‘");

Update

先看下如何用sqlsuagr怎么修改吧

[HttpPost("update")]

        public bool EditInfo(Users user)

        {

            using (var db = DbText.GetInstance())

            {

                //支持字典更新,适合动态权限

                //var dic = new Dictionary<string, string>();

                //dic.Add("name", "第十三条");

                //dic.Add("areaId", "1");

                //db.Update<Users, int>(dic, 13);

                //这个更新会把除了更新的东西以外的全部值都为空赋进去因为是吧整个user带进去了

                //var updateStatus = db.Update<Users>(new Users { name = user.name, remark = user.remark }, it => it.username == user.username & it.password == user.password);

                //更新name和remark的值

                var updateStatus = db.Update<Users>(new { name = user.name, remark = user.remark }, it => it.username == user.username & it.password == user.password);

                return updateStatus;

            }

        }

Postman传递数据更新成功

下一次会整理更多有用的sqlsugar的功能

原文地址:https://www.cnblogs.com/RikuBlog/p/9559672.html

时间: 2024-10-13 23:04:29

.net core +mysqlSugar(最为简单的增删改查)的相关文章

Mybatis使用之简单的增删改查

Mybatis使用之简单的增删改查 一:简介 主要记录最简单的数据的增删改查.下一章会有各个操作详细一点的配置说明.以Author表为例(见上一博客).Author表没有关联任何其他表.也没有特殊字段. 二:映射规则 2.1.映射文件中的sql方法与对应的XxxMapper接口中的方法映射规则: a)映射文件的namespace的值是XxxMapper接口的全限定名.即包名+接口名称 b)映射文件中表示增删改查的标签(select.insert.delete.update)的id的值是接口中方法

EF5(6) 简单三层 增删改查

1:项目结构 2:每层添加对其他层的引用,这里我们把除了Web层之外的所有的层生成的文件都放到解决方案下的Library文件夹下,然后每个项目分别来引用里面的dll项目文件. 我们在Model项目上,右键属性->生成-> 在下面的输出里面,选择上一级的 Library文件夹 2.2 我们调整项目的生成顺序 ,在解决方案或者是任意项目上右键,选择 生成依赖项,调整各个项目的依赖,这样的目的就是调整项目的生成顺序. 注意,这里你选择依赖项,并没有给项目与项目之间增加了dll的引用,只是单纯的修改了

通过JDBC进行简单的增删改查

通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 (3)insert (4)update (5)select (6)delete 四.测试 五.代码分析 六.思考问题 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,简称JDBC)

用CI框架向数据库中实现简单的增删改查

以下代码基于CodeIgniter_2.1.3版 用PHP向数据库中实现简单的增删改查(纯代码)请戳 http://www.cnblogs.com/corvoh/p/4641476.html CodeIgniter_2.1.3与PHP5.6的兼容问题请戳 http://www.cnblogs.com/corvoh/p/4649357.html 增: //insert//语法:$bool=$this->db->insert('表名',关联数组); $data=array( 'username'=

用PHP向数据库中实现简单的增删改查(纯代码,待完善)

<?php $con = mysql_connect("localhost:3306","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("test", $con); $result = mysql_query("SELECT * FROM user"); echo "

entity framework—简单的增删改查

应用程序对数据库执行CRUD时,通过entity framework方式,实际上是对DbContext的操作,DbContext是EF的入口,DbContext拿到对应的消息(CRUD)后,通过ORM中的Mapping来将对象O映射成数据库中的关系R. 下面就简单的实现一下利用entity framework实现简单的增删改查.首先要说明的是我已经建立了在解决方案中映射了数据库中表"Customer".所有的操作都是针对这张表. 1.增加 Customer customer = new

MyBatis学习--简单的增删改查

jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: 1 Public static void main(String[] args) { 2 Connection connection = null; 3 PreparedStatement preparedStatement = null; 4 ResultSet resultSet = null; 5 6 try { 7 //加载数据库驱动 8 Class.forName

通过JDBC进行简单的增删改查(以MySQL为例) 目录

通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 (3)insert (4)update (5)select (6)delete 四.测试 五.代码分析 六.思考问题 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,简称JDBC)

JDBC实现最简单的增删改查

好久没写博客了,今天刚进入一家公司实习,在实习这段期间想把自己所学的东西通过博客记录下来 今天上午简单回顾了一下用JDBC实现最简单的增删改查 废话不多说,接下来就说明怎么用JDBC实现最简单的增删改查 我用的数据库是Mysql 1.创建一个MAVEN项目,需要导入两个jar包 分别为lombok 和 mysql 的jar包,在MAVEN的仓库网站可以轻松找得到 2.导入jar包之后 我们来进行数据库的连接操作 其步骤为 第一步:加载数据库驱动 Class.forName("com.mysql.