二、基本使用
1、常用注解
@TableName(“”):与数据库对应的表名
@TableId:该字段为主键
@TableField(“”):与数据库对应的字段名
2、排除非表字段的三种方式
2.1、transient:字段名前面加上关键字,不参与序列化过程
2.2、status:把该字段设为静态变量
2.3、@TableField(exist=false):加上该注解,表示数据库表中不存在的字段
三、查询方法
1、普通查询方法
注意点:“name”和“age”是数据库中表的字段名
2、条件构造器查询
3、Wrapper.apply()建议使用第一种方法,第二种有sql注入的风险
3.1、
3.2、
4、
5、last()该方法有sql注入的风险
6、不列出全部字段
6.1、需要的字段(queryWrapper.select("字段名"))
6.2、排除字段
7、condition(执行条件)的作用,判断该条件是否要加入sql查询语句
比如lt, le ,like都可以传入这个常数,不传入默认为ture
8、创建条件构造器时可以传入对象
传入对象时判断比如是like怎么办,
可以在对象属性上注解@TableFileld(condition=SqlCondition.LIKE)
9、allEq()
9.1、但有字段值为空时,该字段在sql语句中变为isnull
9.2、可以传入第二个值queryWrapper.allEq(params,false),但有字段值为空时,该字段在sql语句中被忽略掉
9.3、还可以根据键/值过滤条件
10、Lambda构造器的三种生成方法(好处字段名不会出错)
用法
11、其他条件构造器
四、自定义sql和分页查询
1、自定义查询(版本大于3.0.7)
可以自定义查询方法,sql语句写在注解上(不推荐),但是一般写在xml文件
2、分页
需要先写一个分页插件
2.1、使用封装好的分页方法
selectPage
selectMapsPage
Page()可以传第三个参数,false不查询总记录数,ture反之
2.2、自定义分页查询
五、更新及删除
1、更新方法,和查询差不多,参考查询和源码
更改少量字段值时可以在条件构造器后加.set(k,v)
2、删除方法
和查询差不多,参考查询和源码
六、AR模式,主策略模式,基本配置
1、AR模式
需要让实体类继承Model,并在类中加入private staticfinal long serialVersionUID =1L
应用(new一个实体类,然后调用实体类继承的的方法)
删除和修改都差不多。
insertOrUpdate这个方法在你有传id时会先查询数据库里面有没有,有就更新,没有就插入。
2、主键模式
2.1、局部策略高于全局策略
2.2、全局(在主yml配置文件中设置)
2.3、局部(在实体类字段名上加@TableId(type.IdType.NONE))
2.4、有哪些策略呢
3、基本配置
01、configuration和config-Location不能同时定义
02、field-strategy
03、其他配置
官网教程查看:https://mybatis.plus/config/#%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE
七、通用service
直接看官网教程
参考慕课网视频教程:https://www.imooc.com/learn/1130
网友评论