<select id="findByUsername" parameterType="java.lang.String" resultType="com.william.domain.User">
select * from user where username like "%"#{value}"%"
</select>
2.TestMybatis
/**
* 模糊查詢
* 通過用戶名字模糊查詢
*/
@Test
public void findByUsername(){
InputStream inputStream = Resources.class.getClassLoader().getResourceAsStream("Mybatis-configuration.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
List<User> selectList = sqlSession.selectList("com.william.mapper.UserMapper.findByUsername","a");
for (Object o : selectList) {
System.out.println(o);
}
sqlSession.close();
}
3.測試結果
執行的SQL語句
Preparing: select * from user where username like "%"?"%"
Parameters: a(String)
二、$ ‘%${value}%’
1.UserMapper.xml
<!--模糊查詢-->
<select id="findByUsername" parameterType="java.lang.String" resultType="com.william.domain.User">
select * from user where username like '%${value}%'
</select>
2.TestMybatis
/**
* 模糊查詢
* 通過用戶名字模糊查詢
*/
@Test
public void findByUsername(){
InputStream inputStream = Resources.class.getClassLoader().getResourceAsStream("Mybatis-configuration.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
List<User> selectList = sqlSession.selectList("com.william.mapper.UserMapper.findByUsername","a");
for (Object o : selectList) {
System.out.println(o);
}
sqlSession.close();
}
3.測試結果
執行的SQL語句
Preparing: select * from user where username like '%a%'
Parameters:
三、在測試類參數中添加
1.UserMapper.xml
<select id="findByUsername" parameterType="java.lang.String" resultType="com.william.domain.User">
select * from user where username like #{abc}
</select>
2.TestMybatis
/**
* 模糊查詢
* 通過用戶名字模糊查詢
*/
@Test
public void findByUsername(){
InputStream inputStream = Resources.class.getClassLoader().getResourceAsStream("Mybatis-configuration.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
List<User> selectList = sqlSession.selectList("com.william.mapper.UserMapper.findByUsername","%a%");
for (Object o : selectList) {
System.out.println(o);
}
sqlSession.close();
}
3.測試結果
執行的SQL語句
Preparing: select * from user where username like ?
Parameters: %a%(String)