mybatis xml 模糊查询示例
时间: 2023-10-29 11:07:17 浏览: 95
假设有一个用户表,其中包含字段id、username、age,要实现根据用户名模糊查询的功能,可以使用MyBatis的XML配置文件来实现。
1. 定义Mapper接口
```java
public interface UserMapper {
List<User> findByUsername(String username);
}
```
2. 编写Mapper XML配置文件
```xml
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
<select id="findByUsername" resultType="User">
SELECT * FROM user WHERE username LIKE CONCAT('%', #{username}, '%')
</select>
</mapper>
```
3. 在Spring配置文件中配置MapperScannerConfigurer
```xml
<!-- applicationContext.xml -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
</bean>
```
4. 在代码中调用Mapper方法
```java
@Autowired
private UserMapper userMapper;
public List<User> searchUser(String username) {
return userMapper.findByUsername(username);
}
```
在上述代码中,findByUsername方法会根据传入的参数username执行模糊查询,查询结果会映射到User对象中并返回一个List集合。注意SQL语句中的LIKE语句,它会将查询条件拼接成类似'%username%'的字符串,从而实现模糊查询的功能。
阅读全文