SQLMapper接口
public interface SQLMapper {
/*
根据用户名 来模糊查询 用户信息
*/
// 设置一个参数 有一个固定的访问方式
List<User> getUserByList(@Param("username") String username);
}
接口对应的映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 映射文件的命名空间与 SQLMapper接口的文件名保持一致 -->
<mapper namespace="com.atguigu.mybatis.mapper.SQLMapper">
<!--id跟方法名一致,查出来的返回值 为用户类型,对应User类 -->
<select id="getUserByLike" resultType="com.atguigu.mybatis.pojo.User">
<!-- #大括号 解决模糊查询的问题 -->
select * from t_user where username like '%#{username}%'
</select>
</mapper>
建立测试类
public class SQLMapperTest {
@Test
public void testGetUserByLike(){
//获取 sqlSession 对象
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
// 获取一个SQLMapper 对象
SQLMapper mapper = sqlSession.getMapper(SQLMapper.class);
// 根据a来调用,返回值是一个list集合
List<User> list = mapper.getUserByLike("a");
System.out.println(list);
}
}
三种模糊拼接方式
select * from t_user where username like '%${username}%' select * from t_user where username like concat('%',#{username},'%') select * from t_user where username like "%" #{username} "%"