mybatis 别名映射实体类区分大小写吗
时间: 2023-12-23 11:13:13 浏览: 107
MyBatis 别名映射实体类是区分大小写的。在 MyBatis 中,别名映射实体类是通过 `typeAliases` 或 `typeAliasesPackage` 来配置的,如果别名和实体类的命名不一致,那么就需要使用别名来指定实体类。在指定别名时,需要注意大小写,别名和实体类的大小写必须完全一致,否则会导致找不到对应的实体类。
相关问题
mybatis plus 里面怎么不区分大小写
在MyBatis Plus中,默认情况下,列名(包括表名、字段名等)是区分大小写的。如果你希望不区分大小写地匹配列名,可以设置一些全局配置。
1. 配置文件(application.yml 或 application.properties)中添加如下内容:
对于YAML:
```
mybatis-plus:
global-config:
dbColumnUnderline: true # 将数据库列名转为下划线命名法,同时忽略大小写
```
对于properties:
```
mybatis-plus.global-config.dbColumnUnderline=true
```
`dbColumnUnderline` 参数设置为 `true` 后,MyBatis Plus会自动将查询条件中的列名转换为小写或大写形式进行匹配,从而达到不区分大小写的查询效果。
2. 如果你想对特定的实体类启用这个特性,可以在实体类上标注 `@Table(name = "your_table", databaseId = DatabaseId.ID_CAMEL)` 并设置 `databaseId` 为 `DatabaseId.ID_CAMEL`,这会使该类下的字段名称也采用驼峰式命名并忽略大小写。
记得重启服务或者刷新缓存,让配置生效。
mybatis如何配置查询内容区分大小写
要配置 MyBatis 查询内容区分大小写,可以使用 SQL 语句中的 BINARY 关键词,将查询条件转换为二进制格式,从而实现区分大小写的查询。
例如,在 XML 配置文件中,可以使用如下的 SQL 语句:
```xml
<select id="getUserByName" parameterType="java.lang.String"
resultType="User">
SELECT * FROM user WHERE BINARY name = #{name}
</select>
```
在上述 SQL 语句中,BINARY 关键词将 name 字段转换为二进制格式,从而实现了区分大小写的查询。同时,在 MyBatis 的参数绑定中,也要使用 #{name} 而不是 ${name},以防止 SQL 注入攻击。
除了使用 BINARY 关键词之外,也可以使用 COLLATE 关键词指定排序规则,从而实现区分大小写的查询。例如,要查询 name 字段以 "foo" 开头的记录,可以使用如下的 SQL 语句:
```xml
<select id="getUserByName" parameterType="java.lang.String"
resultType="User">
SELECT * FROM user WHERE name COLLATE utf8_bin LIKE 'foo%'
</select>
```
在上述 SQL 语句中,COLLATE utf8_bin 指定了排序规则为二进制,从而实现了区分大小写的查询。同时,使用 LIKE 关键词进行模糊查询,以匹配以 "foo" 开头的记录。
阅读全文