假设有一个数据库表名为 `user_info`,其中包含两个列:`user_id` 和 `first_name`。
当 `mapUnderscoreToCamelCase` 配置项设置为 `true` 时,MyBatis 将会对数据库中的下划线命名进行转换,将其转换为驼峰命名。
在这种情况下,使用 MyBatis 查询时,会将列名转换为驼峰命名的形式。
假设你有以下的查询语句:
```xml
<select id="getUser" resultType="User">
SELECT user_id, first_name FROM user_info WHERE user_id = #{userId}
</select>
```
注意到查询语句中的列名为 `user_id` 和 `first_name`,这是下划线命名的形式。
如果 `mapUnderscoreToCamelCase` 配置为 `true`,MyBatis 将会对这两个列名进行转换,将其转换为驼峰命名。
在 Java 中,你的实体类可能如下所示:
```java
public class User {
private Integer userId;
private String firstName;
// Getters and Setters
}
```
在这个例子中,MyBatis 在执行查询时,会将查询结果映射到 `User` 类中。MyBatis 会自动进行下划线命名到驼峰命名的转换,将 `user_id` 映射为 `userId`,将 `first_name` 映射为 `firstName`。
这样,你可以在 Java 代码中使用驼峰命名的属性,而无需在 Mapper XML 文件中使用下划线命名的列名。
通过这种转换,可以使代码更加符合 Java 命名规范,提高代码的可读性和可维护性。