mybatis 返回map字段小写
时间: 2023-10-25 09:04:05 浏览: 181
你可以在 MyBatis 的配置文件中设置 `mapUnderscoreToCamelCase` 参数为 `true`,这样 MyBatis 在查询结果映射到 `Map` 对象时会自动将数据库字段的下划线命名转换为小写的驼峰命名。以下是配置文件的示例:
```xml
<configuration>
<!-- 其他配置项 -->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
```
通过这个配置,你可以得到小写的字段名称。例如,数据库字段 `user_name` 会被映射为 `userName`。
相关问题
mybatis返回map不是驼峰命名
Mybatis返回的Map对象中的key值默认情况下是数据库列名字母全小写,若数据库列名采用的是下划线命名规则,则Map中的key值也会采用下划线分割的方式。这是因为Mybatis在映射数据库结果集时,对列名采用了一种简单的转换策略。
要解决Mybatis返回的Map不是驼峰命名的问题,可以通过两种方式来处理:
1.设置Mybatis全局配置属性:将mapUnderscoreToCamelCase设置为true。这样Mybatis在解析结果集时,会将下划线分割的列名转换为驼峰命名的key值。
示例代码如下:
```xml
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
```
2.使用ResultMap映射结果集:在Mapper.xml中通过ResultMap配置来显式指定每个字段的映射关系,可以设置自定义的key值。这样返回的Map中的key值就会按照我们预期的驼峰命名规则。
示例代码如下:
```xml
<resultMap id="resultMap" type="java.util.HashMap">
<id column="user_id" property="userId"/>
<result column="user_name" property="userName"/>
</resultMap>
<select id="getUser" resultMap="resultMap">
SELECT user_id, user_name FROM users WHERE user_id = #{userId}
</select>
```
通过以上两种方式,我们可以灵活地解决Mybatis返回的Map不是驼峰命名的问题。
mybatis map 区分大小写
在MyBatis中,默认情况下,不区分对待Map中的key的大小写。这意味着,无论你在查询结果中使用的是大写字母、小写字母或者大小写混合,MyBatis都会将其当作相同的key对待。[2]
然而,如果你希望在处理Map返回结果时区分大小写,你可以通过自定义ObjectWrapperFactory来实现。你可以创建一个自定义的MapWrapper,将Map中的所有key都转换为小写,然后使用该自定义的ObjectWrapperFactory来处理Map返回结果。这样,MyBatis在处理Map时就会区分大小写了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [mybatis-查询返回的map中部分字段不区分大小写](https://blog.csdn.net/w2006009/article/details/103295534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [MyBatis返回Map键值对数据Key值大小写问题](https://blog.csdn.net/Devilli0310/article/details/104073993)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文