【小白专用 已验证24.6.18】C# SqlSugar操作MySQL数据库实现增删改查

【小白专用24.6.18】C# SqlSugar:连接数据库实现简单的,增、删、改、查-CSDN博客

SqlSugar .Net ORM 5.X 官网 、文档、教程 - SqlSugar 5x - .NET果糖网

SqlSugar项目创建

通过NuGet包管理器搜索SqlSugarMySql还要安装MySql.Data、Newtonsoft.Json)包并安装

1.NuGet安装sqlsugar

新建一个C#的桌面应用程序,起名为SqlSugarDemo,然后鼠标右键选择引用,选择管理NuGet程序包,然后点击浏览后输入sqlsugar查找,找到直接点击安装

所用.NET框架如果是.NET Framework则选择SqlSugar

所用.NET框架如果是.NET Core则选择SqlSugarCore

安装完后点击已安装,并且点开右边的引用后也可以看到SqlSugar就已经安装好了,如下图



 

2.实体类用法

在写查询代码之前,还要增加一个类,作为映射,数据库中tp_auth_rule表:

项目右键——添加——类,id为主键并设置为自增

在Id属性上加[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]是因为在数据库中Id是主键并且自增,需要与数据库中一致。

//如果实体类名称和表名不一致可以加上SugarTable特性指定表名

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SqlSugarDemo
{[SugarTable("tp_auth_rule")][Serializable]public class tp_auth_rule{/// <summary>/// 编号/// <summary>[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]public int id {get; set; }/// <summary>/// 编码/// <summary>[SugarColumn(ColumnName = "code")]public string code {get; set; }/// <summary>/// 父ID/// <summary>[SugarColumn(ColumnName = "pid")]public int pid {get; set; }/// <summary>/// 控制器/方法/// <summary>[SugarColumn(ColumnName = "name")]public string name {get; set; }/// <summary>/// 权限名称/// <summary>[SugarColumn(ColumnName = "title")]public string title {get; set; }/// <summary>/// type/// <summary>[SugarColumn(ColumnName = "type")]public int type {get; set; }/// <summary>/// 菜单状态/// <summary>[SugarColumn(ColumnName = "status")]public int status {get; set; }/// <summary>/// conditions/// <summary>[SugarColumn(ColumnName = "conditions")]public string conditions {get; set; }/// <summary>/// 排序/// <summary>[SugarColumn(ColumnName = "sort")]public int sort {get; set; }/// <summary>/// 验证权限/// <summary>[SugarColumn(ColumnName = "auth_open")]public int? auth_open {get; set; }/// <summary>/// 图标名称/// <summary>[SugarColumn(ColumnName = "icon")]public string icon {get; set; }/// <summary>/// 创建时间/// <summary>[SugarColumn(ColumnName = "create_time")]public int? create_time {get; set; }/// <summary>/// 更新时间/// <summary>[SugarColumn(ColumnName = "update_time")]public int update_time {get; set; }/// <summary>/// 参数/// <summary>[SugarColumn(ColumnName = "param")]public string param {get; set; }}
}

3.SqlSugar的简单用法

新建一个SqlConnection.cs

在这里,我们来完成SqlSugar连接SQLServer数据库的基本操作。语法上,其实和使用Microsoft.Data.SqlClient很相似,首先创建一个实例,

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SqlSugarDemo
{/// <summary>/// SqlSugar连接到MySQL数据库/// </summary>public class MySqlConnection{private static string strConnectionString = string.Empty;#region 数据库访问对象/// <summary>/// 数据库访问对象/// </summary>private static SqlSugarClient db = null;/// <summary>/// 初始化SqlSugarClient/// </summary>/// <returns>返回SqlSugarClient对象</returns>public static SqlSugarClient GetInstance(){if (strConnectionString == string.Empty){//strConnectionString = "Data Source=192.168.4.61;Initial Catalog=ReportServer;User ID=sa;Password=16";strConnectionString = "server = localhost; port = 3306; user = root; password = a6; database = worch; Convert Zero Datetime=True; Allow User Variables=True; AllowLoadLocalInfile=true";}db = new SqlSugarClient(new ConnectionConfig(){ConnectionString = strConnectionString,DbType = SqlSugar.DbType.MySql,//DbType.SqlServer,IsAutoCloseConnection = true});return db;}#endregion/// <summary>/// 查询出tp_auth_rule表中的所有数据,映射到StudentInfo,然后作为list返回/// </summary>/// <returns></returns>public static List<tp_auth_rule> Query(){var db = GetInstance();return db.Queryable<tp_auth_rule>().ToList();}public static void Insert(tp_auth_rule student){var db = GetInstance();db.Insertable<tp_auth_rule>(student).ExecuteCommand();}public static bool Delete(tp_auth_rule student){var db = GetInstance();db.Deleteable<tp_auth_rule>(student).ExecuteCommand();return true;}}
}

 SqlSugarClient需要传入参数,我们以第一个为例,需要ConnectionConfig类型的参数

fc1a78d4c29f955ecf72587e8f74f83f.png

ConnectionConfig如下

309f64e9bdfeff1556b9c5e847566747.png

功能的演示

查询示例

        private void btnQuery_Click(object sender, EventArgs e){var tp_auth_rulelist = MySqlConnection.Query();dataGridView1.DataSource = tp_auth_rulelist;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/33666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis之商品缓存

文章目录 什么是缓存添加Redis缓存缓存更新策略缓存穿透缓存空对象布隆过滤器 缓存雪崩给不同的key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加降级限流策略给业务添加多级缓存 缓存击穿互斥锁逻辑过期 缓存工具封装方法1 写入redis方法2 设置逻辑过期方法3 解…

驱动开发(六):应用层通过文件系统与内核层交互

驱动开发相关文章: 驱动开发&#xff08;一&#xff09;&#xff1a;驱动代码的基本框架 驱动开发&#xff08;二&#xff09;&#xff1a;创建字符设备驱动 驱动开发&#xff08;三&#xff09;&#xff1a;内核层控制硬件层 驱动开发&#xff08;四&#xff09;&#xff…

借助TheGraph 查询ENS信息

关于ENS (以太坊域名服务) ENS 全称是 Ethereum Name Service,它是一个建立在以太坊区块链上的去中心化域名系统。 ENS 在 Web3 领域发挥着重要作用,主要有以下几个方面: 可读性更好的地址: ENS 允许用户将复杂的以太坊地址(如 0x12345…) 映射为更简单易记的域名。这极大地提…

中国车牌检测数据集VOC+YOLO格式2001张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2001 标注数量(xml文件个数)&#xff1a;2001 标注数量(txt文件个数)&#xff1a;2001 标注…

【Linux进阶】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统&#xff1f; 从严格意义上说&#xff0c;可将操作系统定义为一种软件&#xff0c;它控制计算机硬件资源&#xff0c;提供程序运行环境。我们通常将这种软件称为内核&#xff08;kerel)&#xff0c;因为它相对较小&#xff0c;而且位于环境的核心。 从广义上…

STM32介绍和资料地址

STM32标准外设软件库 https://www.st.com.cn/zh/embedded-software/stm32-standard-peripheral-libraries.html 支持标准外设库的产品系列&#xff1a;

XMLTomcatHttp协议

XML&Tomcat&Http协议 目录 XML&Tomcat&Http协议 1. xml解析(了解) 1.1 配置文件 1.1.1 配置文件的作用 1.1.2 常见的配置文件类型 1.2 properties文件 1.2.1 文件示例 1.2.2 语法规范 1.3 XML文件 1.3.1 文件示例 1.3.2 概念介绍 1.3.3 XML的基本语…

【Android】记录在自己的AMD处理器无法使用Android studio 虚拟机处理过程

文章目录 问题&#xff1a;无法在AMD平台打开Android studio 虚拟机&#xff0c;已解决平台&#xff1a;AMD 5700g系统&#xff1a;win10专业版1、在 amd平台上使用安卓虚拟机需要安装硬件加速器2、关闭win10上的系统服务 问题&#xff1a;无法在AMD平台打开Android studio 虚拟…

LabVIEW电机故障监测系统

电机作为工业生产中的关键设备&#xff0c;其故障会导致生产停滞和经济损失。因此&#xff0c;开发一个能实时监控电机状态并预测潜在故障的系统具有重要意义。通过高效的数据采集和分析技术&#xff0c;提升故障诊断的准确性和及时性。 系统组成 该系统由以下部分组成&#…

vue3 运用高德地图 自定义弹框 为信息窗体 添加 new AMaps.value.InfoWindow 添加事件

效果图 划过散点的时候出现每个三点位置的数据提示 点击具体散点获取展示信息弹框&#xff0c;并为其添加点击事件 注意点&#xff1a; 1 即使是用的vue&#xff0c;也不能使用click为窗体添加点击事件&#xff0c;需要使用onclick&#xff0c; &#xff08;原因&#xff1a…

TMC2209驱动模式详解

TMC2209驱动模式详解 1.TMC2209封装2.TMC2209引脚定义 1.TMC2209封装 2.TMC2209引脚定义

JavaWeb系列十五: JavaWeb三大组件之过滤器Filter

老韩-JavaWeb三大组件之过滤器Filter 过滤器说明过滤器基本原理过滤器分析和实例url-patternFilter生命周期FilterConfigFilterConfig应用实例过滤器链基本原理分析过滤链实例演示过滤链注意事项 过滤器作业布置 过滤器说明 过滤器说明 Filter 过滤器是JavaWeb三大组件之一(Se…

Android AOSP 编译并烧录到Google Pixel4XL

简介 AOSP&#xff08;Android Open Source Project&#xff09;是Android系统的开源版本&#xff0c;任何人都可以下载、编译和修改。手头上有一台Pixel 4XL&#xff0c;尝试编译AOSP并将其烧录到的设备上。 准备工作 在开始之前&#xff0c;您需要确保您的电脑满足以下条件…

实验08 软件设计模式及应用

目录 实验目的实验内容一、能播放各种声音的软件产品Sound.javaDog.javaViolin.javaSimulator.javaApplication.java运行结果 二、简单工厂模式--女娲造人。Human.javaWhiteHuman.javaYellowHuman.javaBlackHuman.javaHumanFactory.javaNvWa.java运行结果 三、工厂方法模式--女…

Python爬虫项目集:豆瓣电影排行榜top250

关于整理日常练习的一些爬虫小练习&#xff0c;可用作学习使用。 爬取项目以学习为主&#xff0c;尽可能使用更多的模块进行练习&#xff0c;而不是最优解。 爬虫概要 示例python 库爬取模块request解析模块BeautifulSoup存储类型list&#xff08;方便存入数据库&#xff09…

2024年最新 Windows 操作系统安装部署 MongoDB 数据库详细教程(更新中)

MongoDB 概述 MongoDB 是一个基于分布式文件存储的开源数据库系统&#xff0c;由C语言编写&#xff0c;旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系…

使用mysql的binlog进行数据恢复

1.mysql安装环境 在你本地电脑windows上建一个和生产环境一样的mysql版本 我的是 mysql5.7.43 安装教程可以自行上网搜&#xff08;这里不做介绍&#xff09; 可参考&#xff1a; 1.1安装路径 我的mysql安装路径&#xff1a; D:\mysql\mysql-5.7.43-winx64\bin * 1.2my.in…

Docker部署私有仓库(registryHarbor)

简介Docker Hub 官方仓库 在 Docker 中&#xff0c;当我们执行 docker pull xxx 的时候 &#xff0c;它实际上是从 registry.hub.docker.com 这个地址去查找&#xff0c;这就是Docker公司为我们提供的公共仓库。在工作中&#xff0c;我们不可能把企业项目push到公有仓库进行管理…

讲座学习截图——《CAD/CAE/CAM几何引擎-软件概述》(一)

目录 引出CAD/CAE/CAM几何引擎-软件概述 郝建兵CADCAECAM 几何模型内核ACIS 两个老大之一Open CascadeParasolid 两个老大之一Autodesk的内核 总结其他自定义信号和槽1.自定义信号2.自定义槽3.建立连接4.进行触发 自定义信号重载带参数的按钮触发信号触发信号拓展 lambda表达式…

双目相机测距原理

一、普通双目相机测距原理 普通双目相机具有如下特点&#xff1a;左右两个相机位于同一平面&#xff08;光轴平行&#xff09;&#xff0c;且相机参数&#xff08;焦距f&#xff09;一致。其原理图如下&#xff1a; 如图所示&#xff0c;P点为相应的物体位置&#xff0c;CL和C…