MyBatis Generator 下划线转驼峰命名

本文介绍MyBatisGenerator中table标签的useActualColumnNames属性,该属性决定生成实体类时是否使用数据库实际列名。true时,实体类属性名与数据库列名一致;false时,转换为CamelCase风格。

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

MyBatis Generator配置文件–指定生成实体类使用实际的表列名作为实体类的属性名
  table标签下的设置属性useActualColumnNames用于指定生成实体类时是否使用实际的列名作为实体类的属性名,取值true或false。

true:MyBatis Generator会使用数据库中实际的字段名字作为生成的实体类的属性名。

false:这是默认值。如果设置为false,则MyBatis Generator会将数据库中实际的字段名字转换为Camel Case风格作为生成的实体类的属性名。

如果明确的使用columnOverride元素指定了字段对应的实体的属性名,那么useActualColumnNames会被忽略。

假设表有一个字段名为start_date,如果这个属性设置为true,则生成的实体类的属性名为start_date,生成的setter/getter为 setStart_date/getStart_date。如果useActualColumnNames设置为false,则生成的实体类的属性名为startDate,生成的setter/getter为setStartDate/getStartDate。

那为什么要在数据库表字段中使用Snake Case下划线风格呢?因为大部分数据库服务器对象的命名是不分大小写的,因此使用Snake Case命名风格还是十分有必要的。MyBatis Generator考虑的还真是仔细,将Snake Case转换为Camel Case以与Java风格保持一致。

<table schema="goodstock" tableName="Goods" domainObjectName="goods">
     <property name="useActualColumnNames" value="false" />
 </table>

======================================原博地址
https://www.cnblogs.com/doudou-taste/p/9038477.html

### MyBatisX 插件中配置字段驼峰命名规则 #### 关闭 `actualColumn` 勾选项 当使用 MyBatisX-Generator 生成实体类时,默认情况下可能会勾选 `Actual Column` 选项,这会导致生成实体类属性名称与数据库列名完全一致而采用驼峰命名方式。取消该选项的选择即可解决此问题[^1]。 ```java // 此处展示的是通过界面操作而非代码实现 // 用户应在MyBatisX插件界面上找到对应设置项并取消勾选 "Actual Column" ``` #### 修改 `<table>` 节点下的属性 对于希望控制 POJO 中生成的属性名是否严格遵循数据库中的实际列名的情况,在 MyBatis Generator 的 XML 配置文件里可以通过调整 `<table>` 标签内的特定属性来达成目的。具体来说,将 `<property name="useActualColumnNames" value="false"/>` 设置为 false 即可让工具按照驼峰命名法则换列名为 Java 属性名[^2]。 ```xml <table tableName="example_table"> <!-- 其他配置 --> <property name="useActualColumnNames" value="false"/> </table> ``` #### 利用 MyBatis Plus 特性 另外一种方法是借助于 MyBatis Plus 提供的功能——即开启全局性的驼峰映射支持 (`mapUnderscoreToCamelCase`) 。这意味着即使实体类本身未做任何特殊处理,框架也会自动完成从下划线分隔到驼峰形式之间的变工作[^3]。 ```properties # application.properties 或者其他 Spring Boot 配置文件中添加如下配置 mybatis-plus.configuration.map-underscore-to-camel-case=true ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值