Mybatis中模糊查询like语句写法
时间: 2023-06-03 14:07:59 浏览: 542
Mybatis中模糊查询like语句可以使用以下两种写法:
1. 使用${}占位符方式拼接SQL语句:
```xml
<select id="getUserListByName" resultType="User">
SELECT * FROM user WHERE name like '%${name}%'
</select>
```
2. 使用#{}占位符方式传入参数:
```xml
<select id="getUserListByName" resultType="User">
SELECT * FROM user WHERE name like CONCAT('%',#{name},'%')
</select>
```
其中,第二种写法更加安全可靠,建议使用。
相关问题
mybatis模糊查询写法
MyBatis模糊查询可以使用LIKE关键字,具体写法如下:
1. 在Mapper.xml文件中编写SQL语句:
```
<select id="selectByKeyword" parameterType="java.lang.String" resultType="YourResultType">
SELECT * FROM YourTable WHERE YourColumn LIKE CONCAT('%', #{keyword}, '%')
</select>
```
2. 在Mapper接口中定义方法:
```
List<YourResultType> selectByKeyword(String keyword);
```
3. 在Java代码中调用:
```
List<YourResultType> resultList = mapper.selectByKeyword("your keyword");
```
其中,#{keyword}表示传入的模糊查询关键字,CONCAT函数用于将%和关键字拼接起来,实现模糊查询。注意,模糊查询可能会影响查询效率,建议合理使用。
mybatis中like的写法
在 MyBatis 中,使用 Like 查询可以通过在 SQL 语句中使用 `%` 符号来实现模糊匹配。以下是 Like 查询的几种写法:
1. 简单 Like 查询:使用 `%` 符号匹配任意字符。
```xml
<select id="findUsersByName" parameterType="String" resultType="User">
SELECT * FROM users WHERE name LIKE CONCAT('%', #{name}, '%')
</select>
```
2. Like 查询并指定排序:使用 `%` 符号匹配任意字符,并通过 ORDER BY 子句指定排序方式。
```xml
<select id="findUsersByName" parameterType="String" resultType="User">
SELECT * FROM users WHERE name LIKE CONCAT('%', #{name}, '%') ORDER BY name ASC
</select>
```
3. Like 查询并指定分页:使用 `%` 符号匹配任意字符,并通过 LIMIT 子句指定分页查询范围。
```xml
<select id="findUsersByName" parameterType="String" resultType="User">
SELECT * FROM users WHERE name LIKE CONCAT('%', #{name}, '%') LIMIT #{offset}, #{limit}
</select>
```
其中,`offset` 为起始位置,`limit` 为查询数量。
需要注意的是,以上示例中的 `users` 和 `name` 分别表示数据库表名和要匹配的字段名,你可以根据实际情况进行调整。另外,还可以根据业务需求自由组合 Like 查询条件。
阅读全文