通用的CRUD之Mysql

这篇具有很好参考价值的文章主要介绍了通用的CRUD之Mysql。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

前一篇说了NOSQL的增删改查,今天来说说SQL数据库MySQL的增删改查。虽然本人已大部分是NOSQL数据库,但是SQL类数据库有些功能,比如查询还是比起NOSQL还是有优势的。
如查询产量大于100,SQL是这样的“xxx>100”,而NOSQL,是这样的“{xxx:{ $gt: 100} }”。要是条件复杂点,像统计,几个JSON嵌套下来,直接打消了好多人学下去的欲望。
话不多说,现在切入正题
让我一步一步带你增删改查。

安装

Install-Package DbCRUD.Mysql 安装包

数据库连接及初始化

 //数据库连接
 IDbCRUD testdb = new MysqlCRUD(@"Server=127.0.0.1;Database=testdb;Uid=root;Pwd=;");

插入数据

//获取最大ID,用于ID编号
           int dbcount = testdb.TableExists(tb_custormer) ? testdb?.Count(tb_custormer) ?? 0 : 0;
           //**同步插入对象数据
           var customer = new CrudTestModel
           {
               ID = dbcount + 1, //如果要使用DB自身编号功能,ID不要赋值即可
               Name = "对象插入",
               Phones = new string[] { "80000", "90000" },
               IsActive = true,
           };
           var result = testdb.Insert(tb_custormer, customer);

通用的CRUD之Mysql

 //**同步插入字典数据
           var dic1 = new Dictionary<string, object>
           {
               //{ "ID", 1 },//***如果不指定ID,插入时会自动编一个int的唯一ID
               { "Name", "mysql自动编号插入" },
               { "Qty", 19},
               { "DDate", DateTime.Now }
           };
           var result11 = testdb.Insert(autoIDData, dic1);
      //**批量插入列表
           List<Dictionary<string, object>> listdata = new List<Dictionary<string, object>>();
           int maxid = testdb.Max<int>(dictable);
           for (int i = 0; i < 10; i++)
           {
               maxid++;
               var dic2 = new Dictionary<string, object>
               {
                   { "ID",maxid },
                   { "Name", $"批量插入{i}" },
                   { "Qty", 19+maxid},
                   { "DDate", DateTime.Now }
               };
               listdata.Add(dic2);
           }
           var listResult= testdb.Insert(dictable, listdata);

更新数据

   //更新前
            var updatepre = testdb.Find<Dictionary<string, object>>(dictable, "ID=2")?.FirstOrDefault();
          
            var updata = new Dictionary<string, object>
            {
                { "Name", "更新指定字段数据" },
                { "Qty", 600}
            };
            var upresult = testdb.UpDate(dictable, updata, "ID=2");   //更新ID=2的数据
            Assert.IsTrue(upresult.Stutas);
            //更新后
            var getupdata = testdb.Find<Dictionary<string, object>>(dictable, "ID=2")?.FirstOrDefault();
            Assert.AreEqual(300, getupdata.GetValueOrDefault("Qty", 0));

通用的CRUD之Mysql

更新及插入数据(数据存在更新,不存在插入)

//** 更新或插入数据
           var dic1 = new Dictionary<string, object>
           {
               { "ID", 2 },
               { "Name", "插入或更新单条数据" },
               { "Qty", 200},
               { "DDate", DateTime.Now }
           };
           var result= testdb.Upsert(dictable, dic1);
//** 批量插入或更新
           var dic3 = new Dictionary<string, object>
           {
               { "ID", 3 },
               { "Name", "批量插入或更新" },
               { "Qty", 300},
               { "DDATE", DateTime.Now }
           };
           List<Dictionary<string,object>> listdata=new List<Dictionary<string, object>> { dic3,dic1};
           var listresult = testdb.Upsert(dictable, listdata);

查询数据

   //查找id=2的数据
   var databyid = testdb.FindByID<Dictionary<string, object>>(dictable,2);
   //查找Qty>10的数据
   var wheredata = testdb.Find<Dictionary<string, object>>(dictable, "Qty>10");
   //sql语句查找的数据
   string sqlcmd = $"select * from {dictable}";
   var sqldata = testdb.Find<Dictionary<string, object>>(sqlcmd);
   //分页查找的数据
   var pagedata = testdb.GetPagingData<Dictionary<string, object>>(dictable, "Qty>10",pageindex:1,pagenumber:10);

通用的CRUD之Mysql

删除数据

   //**删除_id=3的数据
   var result = testdb.Delete(dictable,3);
   //**删除qty<30的数据
   var wherresult = testdb.Delete(dictable, "Qty<30");
   //**使用sql语句删除_id=30的数据
   string sql = $"delete {dictable} where _id=30";
   var sqlresult = testdb.Delete(sql);

更多使用方法请移步到仓库 https://gitee.com/lzcode/db-crud


我的分享希望能给你带去帮助,您的打赏是我继续为您分享的动力。

通用的CRUD之Mysql文章来源地址https://www.toymoban.com/news/detail-448260.html

到了这里,关于通用的CRUD之Mysql的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LayUI之CRUD(增删改查)

    目录 一、前期准备 1.数据表格 2.弹出层 3.用户表数据查询  二、用户管理后台编写 三、前端JS编写 四、效果展示 1.数据表格 在layui官网找到我们需要的数据表格  根据需求复制修改代码,再找到表单复制一个输入框和按钮,做一个搜索功能 用户管理JSP页面---userManage.jsp 2.弹

    2024年02月17日
    浏览(31)
  • SpringMVC增删改查(CRUD)的实现

    目录 前言 一、前期准备 1.pom.xml---依赖与插件的导入 2.jdbc.properties---数据库连接  3.log4j2.xml---日志文件 4.spring-mybatis---mybatis与spring整合文件 5.spring-context---spring上下文配置 6.spring-mvc 7.generatorConfig.xml---代码生成器 8.web.xml 二、增删改查的实现 1.model与mapper层的生成 2.biz层与切面

    2024年02月09日
    浏览(25)
  • Springboot整合mybatis实现增删改查(crud)

    今天我们来学习一个Springboot案例!! 那么什么是SpringBoot技术呢? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 Spring Boot致力于在蓬

    2024年01月22日
    浏览(30)
  • Go Elasticsearch 增删改查(CRUD)快速入门

    文章目录 1.入门简介 2.客户端库 3.创建客户端 4.index 增删改查 5.增加 6.删除 7.修改 8.查询 9.小结 参考文献 Elasticsearch 入门简介 ES 的 Go 客户端较为流行的有 Elastic 公司官方库go-elasticsearch 和第三方库 olivere/elastic,后者较为流行。 因项目中使用的是 olivere/elastic/v7,所以本文将

    2023年04月08日
    浏览(24)
  • 第一个mybatis程序,实现增删改查CRUD

    mybatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache迁移到了googlecode,并且改名为MyBatis,2013年11月迁移到Github。 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis 可

    2024年02月02日
    浏览(29)
  • VsCode + CMake构建项目 C/C++连接Mysql数据库 | 数据库增删改查C++封装 | 信息管理系统通用代码 ---- 课程笔记

    这个是B站Up主:程序员程子青的视频  C++封装Mysql增删改查操作_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1m24y1a79o/?p=6spm_id_from=pageDrivervd_source=a934d7fc6f47698a29dac90a922ba5a3 安装mysql :mysql 下载和安装和修改MYSQL8.0 数据库存储文件的路径-CSDN博客 创建数据库和表: 参考这篇文章:w

    2024年01月19日
    浏览(38)
  • 通用的CRUD之Sqlite

    SQLite是一种轻量级的关系型数据库管理系统,支持跨平台操作。它可以嵌入到程序中,无需单独的服务器进程或者配置文件,减少了数据库维护的负担和运行的复杂性。SQLite的数据存储在单个文件中,方便备份、传输和分享,也容易进行版本管理。SQLite拥有良好的性能、可靠

    2024年02月05日
    浏览(26)
  • 通用的CRUD之LiteDB

    你要开发一个系统,是不是首要任务是先建库,建表,建字段,既所谓的数据建模(听起来高大上一点,数据建模也确实是个烧脑的活),要费不少功夫。 不知你是否遇到过这样的场景。A产品有3个测试参数,B产品有6个测试参数,而且值和类型都各不相同,用SQL你要怎么建

    2024年02月02日
    浏览(22)
  • 通用的CRUD之MongoDB

    这是一个简便的,对MongoDB增删改查,无需提前建库,建表,安装就能快速上手使用。 MongoDB多条件查询需要JSON的多层嵌套如{DDATE:{$gte:{$date:\\\'2023-06-05T13:41\\\'},$lte:{$date:\\\'2023-06-05T23:59\\\'}},Qty:{$gt:10}},书写时非常难受,还容易出错。 本类库支持类SQL查询语法,如\\\"DDATE=\\\'2023-06-05 09:12:24\\\' a

    2024年02月13日
    浏览(26)
  • mybatis入门的环境搭建及快速完成CRUD(增删改查)

                                                                                           又是爱代码的一天  MyBatis 的背景可以追溯到 2002 年,当时 Clinton Begin 开发了一个名为 iBATIS 的持久化框架。iBATIS 的目标是简化 JDBC 编程,提供一种 更直观、易用 的方式来处理

    2024年02月11日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包