国产精品ORM框架-SqlSugar详解 SqlSugar初识 专题一-CSDN博客
sqlsugar 官网-CSDN博客
4、进阶功能
5、集成整合
6、脚手架应用
4、进阶功能
4.1、生命周期
Queryable 什么时候操作库
Queryable是一个引用类型
Queryable拷贝机制
4.2、执行Sql
方法列表
方法名 描述 返回值
SqlQuery< T > 查询所有返回实体集合 List
SqlQuery<T,T2> 可以返回2个结果集 Tuple<List, List>
SqlQuerySingle 查询第一条记录 T
SqlQueryDynamic 查查询所有返回匿名对象 dynamic
GetDataTable 查询所有 DataTable
GetDataReader 读取DR需要手动释放DR DataReader
GetDataSetAll 获取多个结果集 DataSet
ExecuteCommand 返回受影响行数,一般用于增删改 int
GetScalar 获取首行首列 object
GetString 获取首行首列 string
GetInt 获取首行首列 int
GetLong 获取首行首列 long
GetDouble 获取首行首列 Double
GetDecimal 获取首行首列 Decimal
GetDateTime 获取首行首列 DateTime
SqlQuery< T > 查询所有返回实体集合 List
SqlQuery<T,T2> 可以返回2个结果集 Tuple<List, List>
SqlQuerySingle 查询第一条记录 T
SqlQueryDynamic 查查询所有返回匿名对象 dynamic
GetDataTable 查询所有 DataTable
GetDataReader 读取DR需要手动释放DR DataReader
GetDataSetAll 获取多个结果集 DataSet
ExecuteCommand 返回受影响行数,一般用于增删改 int
GetScalar 获取首行首列 object
GetString 获取首行首列 string
GetInt 获取首行首列 int
GetLong 获取首行首列 long
GetDouble 获取首行首列 Double
GetDecimal 获取首行首列 Decimal
GetDateTime 获取首行首列 DateTime
4.3 数据导入和更新+验证
Excel导入到数据库
困难点: 数据的验证
insert into not exists (只插入不更新)
非主键用例
完整用例(增、删、改)
4.4、并发控制、更新、版本控制
并发累计(累加)
防止提交覆盖(乐观锁)
不依赖库同步
4.5、悲观锁--数据库中支持的锁
悲观锁等待模式
悲观锁排它模式
4.6、事务
事务ACID:
原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一荣俱
荣 一损俱损
一致性(Consistency)
事务前后数据的完整性必须保持一致。
隔离性(Isolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务
的操作数据所干扰,多个并发事务之间要相互隔离。
持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生
故障也不应该对其有任何影响
单库事务
多库事务(跨库事务)SqlSugarClient/ISqlSugarClient事务
事务语法糖
4.7、打包提交
不合适的场景:
1、批量插入数据,不适合----大数据量的插入
在前面我们讲到了事务,就是可以在一次操作中,把对于数据库的多个操作综合起来,一次提交保证原
子性,一致性,持久性,隔离性;
那么在对于数据库的多个提交中,我们也可以通过把多个操作一次打包。然后统一提交操作;
4.8、AOP日志、拦截
AOP:面向切面编程;
在XX行为之前加点行为,在xx行为之后,加点行为;
数据库的操作---执行Sql语句