mybatis like查询实例
时间: 2023-07-13 21:33:07 浏览: 48
在 MyBatis 中,我们可以使用 `LIKE` 运算符来实现模糊查询。下面是一个示例:
```xml
<select id="selectByKeyword" parameterType="java.lang.String" resultType="com.example.User">
SELECT * FROM user WHERE name LIKE CONCAT('%', #{keyword}, '%')
</select>
```
这个示例中,我们使用了 `CONCAT` 函数将 `%` 和关键字 `#{keyword}` 拼接起来,然后使用 `LIKE` 运算符进行模糊查询。
在 Java 代码中,我们可以这样调用这个查询语句:
```java
String keyword = "%John%";
List<User> users = sqlSession.selectList("selectByKeyword", keyword);
```
这个示例中,我们将 `%John%` 作为关键字传递给查询语句,MyBatis 会将其拼接成 `'%John%'`,然后执行模糊查询,返回符合条件的用户列表。
相关问题
mybatis like 查询xx开头的
在使用MyBatis进行模糊查询时,可以使用SQL的LIKE关键字来实现以特定字符开头的查询。下面是一个示例:
我们可以使用MyBatis的动态SQL来实现这个查询操作。首先,在mapper.xml文件中定义一个select语句,使用LIKE关键字进行模糊查询。例如:
```xml
<select id="selectByPrefix" resultMap="resultMap">
SELECT *
FROM table_name
WHERE column_name LIKE #{prefix}%
</select>
```
在这个例子中,`table_name`是你要查询的表名,`column_name`是要进行模糊查询的列名。`#{prefix}`是一个参数,表示你要查询的开头字符。
然后,在对应的Java接口中,定义一个与select语句对应的方法。例如:
```java
public interface UserDao {
List<User> selectByPrefix(String prefix);
}
```
这样你就可以在代码中调用这个方法来进行模糊查询了。例如:
```java
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> userList = userDao.selectByPrefix("xx");
```
这个方法会返回以"xx"开头的所有匹配结果。
总结来说,通过使用MyBatis的模糊查询功能和LIKE关键字,我们可以很方便地实现以特定字符开头的查询操作。你只需要在mapper.xml文件中定义查询语句,然后在对应的Java接口中定义方法,并传入相应的参数即可。
mybatisplu查询
MyBatis Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上进行了更高层次的抽象,简化了 MyBatis 的配置和操作。MyBatis Plus 提供了很多方便的查询方法,可以大大减少我们编写 SQL 的工作量。
MyBatis Plus 的查询方法可以分为两类:Wrapper 查询和 Lambda 查询。Wrapper 查询是通过创建 Wrapper 对象来进行查询,而 Lambda 查询是通过使用 Lambda 表达式来进行查询。
下面是一个 Wrapper 查询的例子,假设我们要查询所有年龄大于 20 岁的用户:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.gt("age", 20);
List<User> userList = userMapper.selectList(wrapper);
```
下面是一个 Lambda 查询的例子,假设我们要查询所有名字包含“张”的用户:
```java
LambdaQueryWrapper<User> lambdaWrapper = new LambdaQueryWrapper<>();
lambdaWrapper.like(User::getName, "张");
List<User> userList = userMapper.selectList(lambdaWrapper);
```
除了以上两种查询方式,MyBatis Plus 还提供了很多其他的查询方法,比如分页查询、排序查询、聚合查询等等,具体可以参考官方文档。