Mybatis-Plus提供了两种映射匹配兼容的方式:驼峰转下划线和全局配置。
- 驼峰转下划线
默认情况下,Mybatis-Plus会将Java类中的驼峰命名方式自动映射到数据库表中的下划线命名方式。例如,Java类中的userName属性会自动映射到表中的user_name字段。
如果需要手动设置Java属性到数据库字段的映射关系,可以在实体类中使用@TableField注解,例如:
public class User {
@TableId
private Long id;
@TableField("user_name")
private String userName;
// ...其他属性和方法
}
在这个例子中,Java类中的userName属性将被映射到数据库表中的user_name字段。
- 全局配置
Mybatis-Plus提供了全局配置来控制映射匹配的方式。在配置文件中,可以使用如下配置来启用或禁用驼峰转下划线功能:
<mybatis-plus>
<global-config>
<db-config>
<!-- 开启驼峰下划线转换 -->
<column-underline>true</column-underline>
</db-config>
</global-config>
</mybatis-plus>
在这个例子中,配置了全局开启驼峰下划线转换功能。当这个功能开启时,Java类中的userName属性会自动映射到表中的user_name字段。当这个功能关闭时,Java类中的userName属性会自动映射到表中的userName字段。
Mybatis-Plus支持以下几种ID生成策略:
ASSIGN_ID
: 自定义ID,需要手动设置ID的值;ASSIGN_UUID
: 基于UUID的自定义ID,需要手动设置ID的值;ID_WORKER
: 生成19位的全局唯一ID,使用Snowflake算法生成;ID_WORKER_STR
: 与ID_WORKER
相同,但是生成的是字符串类型的ID;ID_WORKER_32
: 生成32位的全局唯一ID,使用自定义算法生成;ID_WORKER_32_HEX
: 与ID_WORKER_32
相同,但是生成的是16进制字符串类型的ID;UUID
: 基于UUID的随机ID,使用JDK自带的UUID生成。
这些ID生成策略可以通过注解或XML进行配置。例如,使用注解可以在实体类的主键属性上加上@TableId
注解,配置生成策略和对应的序列名,示例如下:
public class User {
@TableId(type = IdType.ID_WORKER)
private Long id;
private String name;
// ...
}
使用XML可以在对应的<table>
标签中进行配置,示例如下:
<table tableName="user">
<id type="AUTO">
<column name="id"/>
</id>
<!-- ... -->
</table>
其中type
属性用于指定生成策略。在以上示例中,AUTO
表示使用Mybatis-Plus默认的生成策略,即ID_WORKER
。可以根据实际需求进行配置。