Sqlsuger操作SQLite数据库(入门篇)
Posted Mr.乐图
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlsuger操作SQLite数据库(入门篇)相关的知识,希望对你有一定的参考价值。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
近期入职了一家新公司,项目中用到了Sqlsuger,上网查了一下才知道这门比较前沿的SqlSugar的框架,本文就介绍了SqlSugar入门基础内容,项目中用到了Sqlite数据库,所以就以Sqlite数据库为例,分享一下小编学习过程,以及学习过程中遇到的一些坑吧。
一、Sqlsuger介绍
竟然要学习Sqlsuger首先得知道是什么吧。
1.Sqlsuger是什么
SqlSugar是一款来自未来的ORM,拥有超前的理念,需求领跑第一线,可以毫不夸张的说,在设计理念上就算不更新几年都不会过时,我们每天都会跟踪用户需求,将这些用户需求分类和整理,把有共性的功能都整理出来,经历过长达7年的努力,需求成负增长,已经走向了成熟和完善,是一款真正用了功能齐全的ORM框架,如果你用过EF CORE或者DAPPER肯定会为功能缺失而无奈,该有的功能没有,花里胡哨的一大堆。如果你用SqlSugar, 会给你一个不错的选择, 不断给你惊喜。(这是官方解释),
小编理解的是它就是操作数据库的中间件,让我们能更方便的操作数据库。
2.Sqlsuger的优点
1. .NET中唯一【全自动分表组件】+【读写分离】+【SAAS分库】+【大数据读写】 官方完美整合的ORM框架
2. .NET 百万级大数据写入、更新和读取 性能最强框架
3. 使用最简单,语法最爽的ORM 【文档,视频教程】
4. 支持 DbFirst、CodeFirst和WebFirst 3种模式开发
5.Github star数仅次于EF 和 Dapper,每月nuget下载量超过1万
更多优点: 简单易用、功能齐全、高性能、轻量级、服务齐全、官网教程文档、有专业技术支持一天18小时服务
支持数据库:mysql、SqlServer、Sqlite、Oracle 、 postgresql、达梦、人大金仓、神通数据库、Access 、MySqlConnector、自定义扩展
二、使用步骤
1.引入Sqlsuger
1. 创建 .Net工程
小编使用的是最新版的Visual Studio 2022,创建了一个基于.NET Framework的控制台应用程序。
Sqlite数据库也提前用Navicat 工具创建好了。
2. 引入Sqlsuger
接下来便是在工程中引入Sqlsuger的dll文件,Visual Studio引入文件也很方便。使用NuGet 包管理器,在浏览中搜索 SqlSugar 点击安装即可(需要注意的是小编创建的项目是基于).NET Framework的控制台程序,所以下载的时候安装了支持.NET Framework版本的Sqlsuger,如果你创建的项目是其他的,比如 .NET Core 就要安装相对应的Sqlsuger。
安装好了之后在Program.cs中引入Sqlsuger
代码如下(示例):
using SqlSugar;
2.操作Sqlite数据库
1. 创建数据库表实例
首先尝试的通过Sqlsuger创建Sqlite数据库中表的实例,代码如下
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
internal class Program
static void Main(string[] args)
ConnectionConfig connectionConfig = new ConnectionConfig();
connectionConfig.DbType = DbType.Sqlite;
connectionConfig.ConnectionString = @"Data Source=D:\\sqlsuger\\wxa7795cfeb64842e2\\wechatsetting.db;Version=3";
using (SqlSugarClient sugarClient = new SqlSugarClient(connectionConfig))
sugarClient.DbFirst.CreateClassFile(@"D:\\sqlsuger\\新建文件夹\\ConsoleApp1\\dbModels\\");
需要创建SqlSugarClient对象,创建时需要ConnectionConfig参数,创建ConnectionConfig参数时有两个主要的字段,
connectionConfig.DbType = DbType.Sqlite;//你要操作的数据库类型,这里选择的时Sqlite数据库
connectionConfig.ConnectionString = "数据库连接字符串"//想要连接的数据库连接字符
在SqlSugarClient对象中有DbFirst.CreateClassFile方法,它的参数是你要生成的数据库表实体类的存放地址,
初次运行上述文件时会报错,无法找到System.Data.SQLite.dll相关依赖等错误,这是因为Sqlsuger操作Sqlite数据库时用到了System.Data.SQLite.dll,和Newtonsoft.Json 安装完这两个包之后运行上面的代码 在对应的文件夹下便会生成表的实体类,
运行结果:
数据库表中的字段
生成的实体类
代码片段如下:
2. 增删改查的操作
小编写了最简单的几个操作,Sqlsuger能实现的操作远不止这些,
增删改查操作直接上代码:
using Models;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
internal class Program
static void Main(string[] args)
ConnectionConfig connectionConfig = new ConnectionConfig();
connectionConfig.DbType = DbType.Sqlite;
connectionConfig.ConnectionString = @"Data Source=D:\\sqlsuger\\wxa7795cfeb64842e2\\wechatsetting.db;Version=3";
using (SqlSugarClient sugarClient = new SqlSugarClient(connectionConfig))
//sugarClient.DbFirst.CreateClassFile(@"D:\\sqlsuger\\新建文件夹\\ConsoleApp1\\dbModels\\");
//插入的操作
WDB_Template wDB = new WDB_Template()
id = 4,
content = "测试",
isuse = 0
;
sugarClient.Insertable<WDB_Template>(wDB).ExecuteCommand();
WDB_Template wDB_Template0 = sugarClient.Queryable<WDB_Template>().First();
print(wDB_Template0);
//查询的操作
WDB_Template wDB_Template1 = sugarClient.Queryable<WDB_Template>().First();
print(wDB_Template1);
//更新的操作
wDB.content = wDB.content + "更新后";
sugarClient.Updateable<WDB_Template>(wDB).WhereColumns(it => new it.id ).ExecuteCommand();
WDB_Template wDB_Template2 = sugarClient.Queryable<WDB_Template>().First();
print(wDB_Template2);
//删除的操作
sugarClient.Deleteable<WDB_Template>().In(it => it.id, 4).ExecuteCommand();
WDB_Template wDB_Template3 = sugarClient.Queryable<WDB_Template>().First();
print(wDB_Template3);
Console.ReadLine();
public static void print(WDB_Template wDB)
if (wDB == null)
Console.WriteLine("数据库中没有数据");
else
Console.WriteLine($"id = wDB.id ---- content = wDB.content ---- isuse = wDB.isuse");
运行结果如下:
下面是Sqlsuger的官网大家感兴趣可以继续探究:
https://www.donet5.com/Home/Doc
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Sqlsuger的使用,而Sqlsuger提供了大量能使我们快速便捷地处理数据库的方法。总之就是方便
Kotlin基础从入门到进阶系列讲解(入门篇)SQLite数据库存储
Kotlin基础从入门到进阶系列讲解(入门篇)SQLite数据库存储
SQLite数据库存储
1、创建数据库
SQLiteOpenHelper是一个抽象类,可以创建一个自己的帮助类去继承它。SQLiteOpenHelper中有两个抽象方法:onCreate()和onUpgrade()
SQLiteOpenHelper中还有两个非常重要的实例方法:getReadableDatabase()和getWritableDatabase(),这两个方法都可以打开或创建一个现有的数据库(如果数据库已存在则直接打开,否则要创建一个新的数据库),并返回一个可对数据库进行读写操作的对象。
新建MyDatabaseHelper类继承自SQLiteOpenHelper,代码:
以上是关于Sqlsuger操作SQLite数据库(入门篇)的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin基础从入门到进阶系列讲解(入门篇)SQLite数据库存储
Kotlin基础从入门到进阶系列讲解(入门篇)下载SQLite软件,如何创建/添加/更新/查询/删除数据