1. 关于自定义sql
默认就会去找 classpath*:/mapper/**/*.xml
2. 关于批量添加/修改
mapper层没有提供相应方法,service层提供了【但是其实还是调用的mapper层的】,效率极低,它就是for循环里面一条一条添加数据。
3. 关于表名和实体类类名不一致
默认MP是去找跟你表名一样的实体类。
方法一:@TableName("t_user") 只能针对某一个实体类
方法二:
mybatis-plus:
global-config:
db-config:
table-prefix: t_
# 能针对全局
4. @TableId
MP默认是把属性id作为主键,如果你的主键不叫id,则使用@TableId指定哪个属性为你的主键。
MP默认是生成雪花算法的ID【与数据库id是否设置自增无关】。
如果,你的数据库里面叫 uid,而你的实体类里面你就想叫id,这时,你可以通过给@TableId设置值
@TableId(value = "uid")
private Long id;
@TableId的type属性:用于设置主键生成策略。
@TableId设置生成策略只能用于某一个实体类。
如果想全局设置
mybatis-plus:
global-config:
db-config:
table-prefix: t_
id-type: auto
4. @TableFileId
MP默认是把属性名与字段名作映射,如果你的字段名与属性名不匹配,
在MP中,默认会将字段里面的 _ 转成驼峰。
如user_name——>userName。
若你的属性名与字段名不匹配,如属性名是password,字段名是pswd。
则,你可以用@TableFileId指定字段名。
@TableFileld("pswd")
private String password;