03 常见注解 & 全局策略配置

本文介绍了MyBatisPlus中常用的注解,包括@TableName、@TableId和@TableField,以及全局策略配置,如全局主键策略、全局表前缀策略和处理表字段与Bean属性命名不一致的情况。通过注解可以简化实体类设置,全局策略配置则能统一项目的命名规范,提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

实体类无注解化设置,表字段如下规则,主键叫id可无注解大写小写如下规则。

  1. 驼峰命名[无需要处理]
  2. 全局配置:下划线命名dbCoolumnUnderline 设置true,大写isCapitalMode设置true

注解说明

1. @TableName
  • com.biaomidou.mybatisplus.annotations.TableName
  • 描述类
描述
value表名(默认空)
resultMapxml字段映射resultMap ID
2. @TableId
  • com.baomidou.mybatisplus.annotations.TableId
  • 描述属性
描述
value字段值(属性和字段相同可省略)
type主键ID策略类型(默认INPUT,全局开启的是ID_WORKER)

MP 支持一下 4 中主键策略

描述
IdType.AUTO数据库ID 自增
IdType.INPUT用户输入ID
IdType.ID_WORKER全局唯一ID,内容为空自动填充(默认配置)
IdType.UUID全局唯一ID,内容为空自动填充

表及字段命名策略选择

在MP中,建议 数据库表名表字段名 采用驼峰命名方式,如果采用下划线命名方式,请开启全局下划线开关,如果表字段名命名方式不一致请注解指定,我们建议最好保持一致。
这些做的原因是为了避免在对实体类时产生性能损耗,这样字段不用做映射就能直接和实体类对应。当然如果项目不用考虑这点性能损耗,那么你采用下划线也是没问题的。只需要在生成代码的是配置dbColumnUnderline属性就可以。

3. @TableField
描述
value字段值(驼峰命名方式,该值可无)
exist是否为数据库表字段(true/存在,false/不存在,默认true)

全局策略配置

全局策略配置后整个项目都使用,且全局策略需要在sqlSessionFactory中注入全局策略配置。
全局策略配置就是一个普通的bean

1. 全局主键策略
<property name="idType" value="2" />
2. 全局表前缀策略配置
<property name="tablePrefix" value="tbl_" />
3. 表字段和Bean属性命名不一致
<!-- 2.3+ dbColumnUnderline 默认是true,字段是下划线命名,属性是驼峰命名,自动实现下划线和驼峰转换 -->
<property name="dbColumnUnderline" value="true" />

范例

<!-- MyBatisPlus 全局策略配置
    GlobalConfig 这个类是全局缓存类,不是全局配置类
-->
<bean id="globalConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig">
	<!-- 全局主键策略(value 是枚举中的key) -->
	<property name="idType" value="2" />
	
	<!-- ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 3.0 以前的属性 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ -->
	<!-- 2.3+ dbColumnUnderline 默认是true,字段是下划线命名,属性是驼峰命名,自动实现下划线和驼峰转换 -->
	<property name="dbColumnUnderline" value="true" />
	<!-- 全局表前缀策略配置 -->
	<property name="tablePrefix" value="tbl_" />

</bean>

引用全局策略配置

<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
	<property name="dataSource" ref="dataSource" />
	
	<!-- 注入全局策略配置 -->
	<property name="globalConfig" ref="globalConfig"></property>		
</bean>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值