1、MyBatisPlus
2、MyBatisPlus入门案例
- 创建工程时,不再勾选mybatis
- 手动添加mybatisPlus的起步依赖
- 设置jdbc参数(application.yml)
- 制作实体类与表结构,类名与表名对应,属性名与字段名对应
- 定义数据层接口,
继承BaseMapper,传入对应的泛型
- 测试类中注入Dao接口,测试功能
3、标准数据层开发
标准数据层CRUD功能
标准分页功能制作
4、DQL编程控制
条件查询–设置查询条件
封装的条件查询的方法中,设置查询条件的三种方式:
当查询条件变多的时候,支持链式编程,使用and和or进行连接
条件查询—null值的处理
查询时,某个值未传,若将null直接拿进SQL,则影响最终的查询结果,解决思路如下:
查询投影
查询条件设置
映射匹配兼容性
case1:表字段与属性字段不同步
case2:实体类中定义了数据库中未定义的属性
case3:采用默认查询,开放了更多的字段的查看权限,如password
case4:表名与类名设计不一致
解决思路:
5、DML编程控制
id生成策略控制
提炼成一个全局配置写在application.yml文件中:
多记录删除与查询:
逻辑删除:
如果将某些数据直接从数据库中删除,如1号员工离职:
此时,数据最终汇总出问题,因此考虑逻辑删除,即用字段标记一下:
逻辑删除案例:
- 数据库中添加逻辑删除标记字段
- 实体类中添加相应字段,并使用注解@TableLogic设定当前字段为标记逻辑删除字段
- 在application.yml文件中配置逻辑删除字面值
此时,删除数据实际是在执行update语句:
乐观锁:
业务场景–并发现象:
乐观锁案例:
- 数据库中添加锁标记字段
- 实体类中添加相应的属性,并标记为锁字段
- 配置乐观锁拦截器,实现锁机制对应的动态SQL的拼接
- 使用乐观锁机制,在执行update修改前必须先获取到对应数据的version方可继续进行
6、代码生成器
看完以上的对比,抽取出模板后,可以知道代码生成器的基本思路:
代码生成器的用法:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146075.html