mybatis 自动转换大小写
时间: 2023-11-17 09:57:14 浏览: 79
Mybatis默认情况下会将数据库中的列名转换为Java对象的属性名,这个转换规则是基于JavaBean规范的,即将下划线后的字母转换为大写字母。而数据库中的列名是不区分大小写的,所以在使用Mybatis时,如果数据库中的列名是大写的,而Java对象的属性名是小写的,那么就需要进行大小写转换。可以通过在Mybatis的配置文件中配置mapUnderscoreToCamelCase属性来实现自动转换大小写。当mapUnderscoreToCamelCase属性设置为true时,Mybatis会自动将下划线后的字母转换为大写字母,从而实现大小写转换。例如,数据库中的列名为USER_NAME,Java对象的属性名为userName,那么在使用Mybatis时,可以将mapUnderscoreToCamelCase属性设置为true,这样Mybatis就会自动将USER_NAME转换为userName。
相关问题
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 ]
mybatis like 忽略大小写
在 MyBatis 中,可以使用 `<bind>` 标签和 SQL 的 `LOWER()` 函数来实现忽略大小写的 like 查询。下面是一个示例:
```xml
<select id="searchUsers" resultType="User">
<bind name="pattern" value="'%' + username.toLowerCase() + '%'" />
SELECT * FROM users WHERE LOWER(username) LIKE #{pattern}
</select>
```
在上面的示例中,我们使用 `<bind>` 标签将查询参数 `username` 转换为小写,并将 `%` 连接到参数的两端,以便进行 like 查询。然后,在 SQL 中使用 `LOWER()` 函数将数据库中的用户名转换为小写,再与转换后的查询参数进行比较。
这样配置后,无论输入的 `username` 是大写还是小写,都能够进行忽略大小写的 like 查询。