mybatis plus笔记

2020-04-01  本文已影响0人  hszz

二、基本使用

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

上一篇下一篇

猜你喜欢

热点阅读