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

然后创建新的Controller

记得添加路由

[Route("api/Users")]

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

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

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

创建实例化class文件DbContext.cs

用于连接数据库,初始化

private DbContext()
{
}
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();
DbContext.ConnectionString = Configuration.GetConnectionString("DefaultConnection");
}

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

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

Select

创建select接口

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

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

 Insert

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

 [HttpPost("add")]

        public string Register(Users user)

        {

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

            using (var db = DbContext.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 = DbContext.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 = ""}); return status;
}
}

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

然后我改变代码

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

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

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

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

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

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

bool status = db.Delete<Users>("username=@username and password=@password", 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 = DbContext.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的功能

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

  1. BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块

    NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...

  2. Java web 简单的增删改查程序(超详细)

    就是简单的对数据进行增删改查.代码如下: 1.bean层:用来封装属性及其get set方法 toString方法,有参构造方法,无参构造方法等. public class Bean { privat ...

  3. salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)

    此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...

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

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

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

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  6. MyBatis简单的增删改查以及简单的分页查询实现

    MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...

  7. 初试KONCKOUT+WEBAPI简单实现增删改查

    初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...

  8. MVC3.0+knockout.js+Ajax 实现简单的增删改查

    MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...

  9. SpringMVC之简单的增删改查示例(SSM整合)

    本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...

随机推荐

  1. SQL查询语句大全集锦

    SQL查询语句大全集锦 一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询t ...

  2. JAVA基础知识总结2(语法基础)

    关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:暂时还未规定为关键字的单词,保留准备日后要使用的单词. 标识符:开发人员程序中自定义名词,比如类名,变量名,函数名. PS:1.不能使用关键字. ...

  3. 利用Admin-LTE项目搭建自己前端的开发框架模板

    1 完整版本 1.1 下载admin-lte项目源代码 github下载地址:点击前往 三少云盘地址:点击前往 1.2 查看admin-lte精简主页源代码 页面地址:点击前往 注意:由源代码可以知道 ...

  4. CF1042E Vasya and Magic Matrix

    感觉不会期望. 首先把所有格子按照权值从小到大排一下序,这样一共有$n * m$个元素,每个元素有三个属性$x, y, val$. 下文中的下标均为排序后的下标. 这样子我们就可以推出公式: $f_i ...

  5. js中将字符串转为JSON的三种方式

    1.eval方式解析,恐怕这是最早的解析方式了.如下: function strToJson(str){ var json = eval('(' + str + ')'); return json; ...

  6. jQuery插件AjaxFileUpload可以实现ajax文件上传

    http://blog.sina.com.cn/s/blog_55e42da60100ocvh.html

  7. oracle分页计算公式

    //page是页数,rows是显示行数 int page=2; int rows=5; List<Articles> list=a.select(page*rows+1,(page-1)* ...

  8. [Django笔记] models 深入学习

    对着官方文档撸一遍,顺便做点笔记 models 定义了本应用的数据库表结构.底层可以由不同的数据库封装实现,因为不同的数据库字段类型不一样,因此,跟以往直接用单一数据库(如mysql)建立的应用有很大 ...

  9. 洛谷P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper

    P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper 题目描述 A little known fact about Bessie and friends is ...

  10. mysql之SQL入门与提升(二)

    在mysql之SQL入门与提升(一)我们已经有了些许基础,今天继续深化 先造表 SET NAMES utf8;SET FOREIGN_KEY_CHECKS = 0; -- -------------- ...