目录
传送门
SpringMVC的源码解析(精品)
Spring6的源码解析(精品)
SpringBoot3框架(精品)
MyBatis框架(精品)
MyBatis-Plus
SpringDataJPA
SpringCloudNetflix
SpringCloudAlibaba(精品)
Shiro
SpringSecurity
java的LOG日志框架
Activiti(敬请期待)
JDK8新特性
JDK9新特性
JDK10新特性
JDK11新特性
JDK12新特性
JDK13新特性
JDK14新特性
JDK15新特性
JDK16新特性
JDK17新特性
JDK18新特性
JDK19新特性
JDK20新特性
JDK21新特性
其他技术文章传送门入口
传送门
SpringMVC的源码解析(精品)
Spring6的源码解析(精品)
SpringBoot3框架(精品)
MyBatis框架(精品)
MyBatis-Plus
SpringDataJPA
SpringCloudNetflix
SpringCloudAlibaba(精品)
Shiro
SpringSecurity
Activiti(敬请期待)
JDK8新特性
JDK9新特性
JDK10新特性
JDK11新特性
JDK12新特性
JDK13新特性
JDK14新特性
JDK15新特性
JDK16新特性
JDK17新特性
JDK18新特性
JDK19新特性
JDK20新特性
JDK21新特性
一、概念
中文网:https://baomidou.com/
开发环境准备:
二、常用注解
实体类和表名对应
1、实体类名字和数据库不一致,加@TableName处理
2、数据库表名有统一前缀,比如t_user这类,全局配置即可
3、主键不叫id,加@TableId注解处理
4、主键非id,并且和实体类属性也不对应的时候@Tableld(value=数据库字段)处理
5、plus框架的主键默认是通过雪花算法计算的序列化,并不是注解自增,要用TableId中的type来修改主键生成算法
6、属性名和字段名不对应,用TableFiled来对应。
7、delete_type 这种字段,加上@TableLogic,原生delete变成update语句并且更新为1,所有原生查询增加了delete_type=0的条件,非常ncie。
单个注解:
实体类统一前缀:
主键非id的处理:
主键非id并且和实体类不对应的时候:
自增算法修改,默认雪花算法,截图改成自增:
有的实体类里面有不是数据库的字段,这个exist=false就用来排除:
@TabkeLogic
注意,所有delete原生的都是去update这个字段了,非常nice
删除注解:
删除是真用原生delete删除,但是语句自动更新为1,真nice:
查询的时候,自动带上了这个,真nice:
三、雪花算法/数据库表拆分
1、主键
2、垂直拆分
3、水平拆分
雪花算法非常适合分布式
四、条件查询器
1、QueryWapper
1.1、wapper
1.2、组装查询
1.3、组装排序
1.4、组装删除
1.5、条件优先级
默认都是and。or需要加一个or方法,之后的应该又回到and了;
要单独and包裹一块条件,要用到lambda表达式,or同理,看后面截图
1.6、设置查询字段
只查这些字段:
1.7、组装select子句
2、UpdateWapper
不用写实体类
3、动态组装条件
4、LambdaQueryWapper
5、LambadaUpdateWapper
五、分页插件
1、概念
2、xml中书写
xml中并没有分页的任何信息:
六、乐观锁
plus框架自动给实现了,very nice
七、通用枚举
类上面加个注解Getter
八、代码生成
坑:
九、MyBatis-x插件
随意生成方法(坑,注意有个Free Mybatis Plug插件快捷键冲突,要把Free这个关闭掉,从此一个MybatisX插件搞定所有)