2024.10.12
根据你提供的 MyBatis 配置文件,确实有一个小问题需要注意:
驼峰命名配置
你已将 mapUnderscoreToCamelCase
设置为注释(<!-- <setting name="mapUnderscoreToCamelCase" value="true"/> -->
),这意味着驼峰命名转换功能被禁用了。为了启用它,你需要取消注释并确保该设置的值为 true
。修改后的配置应如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 全局参数 -->
<settings>
<!-- 使全局的映射器启用或禁用缓存 -->
<setting name="cacheEnabled" value="true" />
<!-- 允许JDBC 支持自动生成主键 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 配置默认的执行器.SIMPLE就是普通执行器;REUSE执行器会重用预处理语句(prepared statements);BATCH执行器将重用语句并执行批量更新 -->
<setting name="defaultExecutorType" value="SIMPLE" />
<!-- 指定 MyBatis 所用日志的具体实现 -->
<setting name="logImpl" value="SLF4J" />
<!-- 使用驼峰命名法转换字段 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<typeHandlers>
<typeHandler handler="com.ruoyi.system.handler.ProductDetailsTypeHandler" javaType="java.util.List"/>
</typeHandlers>
</configuration>
确保以下几点:
- 取消注释:确保
mapUnderscoreToCamelCase
设置被取消注释并正确配置。 - 重启应用:在修改配置后,重新启动你的应用程序以确保新设置生效。
这样设置后,MyBatis 应该能够正确将数据库中的下划线命名字段映射为 Java 对象的驼峰命名属性。