mybatis 别名映射实体类区分大小写吗
时间: 2023-12-23 10:13:13 浏览: 45
MyBatis 别名映射实体类是区分大小写的。在 MyBatis 中,别名映射实体类是通过 `typeAliases` 或 `typeAliasesPackage` 来配置的,如果别名和实体类的命名不一致,那么就需要使用别名来指定实体类。在指定别名时,需要注意大小写,别名和实体类的大小写必须完全一致,否则会导致找不到对应的实体类。
相关问题
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" 开头的记录。
mybatis-plus LambdaQueryWrapper不区分大小写写法
以下是使用mybatis-plus LambdaQueryWrapper进行不区分大小写查询的方法:
```java
LambdaQueryWrapper<NewsEntity> lambdaQuery = Wrappers.lambdaQuery();
lambdaQuery.like(true, NewsEntity::getTitle, entity.getTitle());
```
这段代码中,`like`方法的第一个参数设置为`true`,表示进行不区分大小写的查询,第二个参数指定了要查询的字段,第三个参数是查询的条件。