mybatis plus

57 篇文章 1 订阅
15 篇文章 0 订阅

在这里插入图片描述
mybatis的缺点:
1.mybatis sql工作量很大,尤其是字段多的时候。虽然说单表的增删改查操作可以通过mybatis generator工具来生成(或者自己写模板工具生成),但项目开发的过程中总免不了要新添加新字段,这些工具就帮不了我了,我得把新字段写到原来的所有增删改查的sql中。这是个痛苦的过程,特别是当你重复了很多次之后。

2.mybatis的单表操作也是贼麻烦的事,因为筛选的条件可能会各种各样,所以你不得不写很多动态sql来兼容查询条件,这也让我不能集中精力去处理业务。

在这里插入图片描述
mybatis plus的特性:
1.mybatis-plus不仅仅封装了基本的CRUD操作,内置了防SQL注入操作、常用的分页插件,还有我最喜欢的ActiveRecord模式
用过jfinal的人应该都知道ActiveRecord是啥。Active Record 是一种数据访问设计模式,它可以帮助你实现数据对象Object到关系数据库的映射。

2.在这里插入图片描述
当数据库的表字段名是驼峰命名时无需注解处理。
或者全局配置: 下划线命名 dbColumnUnderline 设置 true , 大写 isCapitalMode 设置 true
使用mp代码生成器自动生成主体后直接覆盖原来的就行了,减少人工的失误,方便快捷。

3.简化CURD
在这里插入图片描述
相比两种写法,我更喜欢ActiveRecord的模式写法,因为我不用注入userMapper,new了一个对象之后直接调用方法操作就行了复杂的查询也很简单,新建一个EntityWrapper作为查询对象,Wrapper接口封装了很多常用的方法。几乎sql能写出来的条件调用Wrapper的方法就能表现出来。

4.代码生成器
在这里插入图片描述

5.插件拓展
在这里插入图片描述

分页插件
按如下步骤:

自定义查询语句分页(自己写sql/mapper)

spring 注入 mybatis 配置分页插件
在这里插入图片描述

在这里插入图片描述

UserMapper.java 方法内容
在这里插入图片描述在这里插入图片描述
UserServiceImpl.java 调用翻页方法,需要 page.setRecords 回传给页面

在这里插入图片描述

UserMapper.xml 等同于编写一个普通 list 查询,mybatis-plus 自动替你分页
在这里插入图片描述

逻辑删除插件

逻辑删除的效果 —> 会在mp自带查询和更新方法的sql后面,追加『逻辑删除字段』=『LogicNotDeleteValue默认值』 删除方法: deleteById()和其他delete方法, 底层SQL调用的是update tbl_xxx set 『逻辑删除字段』=『logicDeleteValue默认值』

配置如下:

修改 集成 全局注入器为 LogicSqlInjector

application.yml全局注入值: logicDeleteValue // 逻辑删除全局值 logicNotDeleteValue // 逻辑未删除全局值

逻辑删除的字段需要注解 @TableLogic

9

spring整合mybatis-plus的优秀案例

基本集成案例 mybatisplus-spring-boot【https://git.oschina.net/baomidou/mybatisplus-spring-boot】

Java EE(J2EE)快速开发框架 SpringWind【https://gitee.com/baomidou/SpringWind】

SSM 后台框架 KangarooAdmin【https://git.oschina.net/zhougaojun/KangarooAdmin】

JAVA分布式快速开发基础平台 iBase4J【https://git.oschina.net/iBase4J/iBase4J】

又一个 SSM 后台管理框架 framework【https://git.oschina.net/sunhan521/framework】

猫宁Morning公益商城 Morning【https://gitee.com/Morning_/Morning】

简单实用的权限系统 spring-shiro-training Shiro 案例【https://gitee.com/wangzhixuan/spring-shiro-training】

  • 8
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值