映射文件:
<select id="selectStudentByName" parameterType="String" resultType="Student">
select s_id,s_name,s_age
from student
where s_name like '%'||#{s_name}||'%'
</select>
此方法在mybatis-3.1.0测试通过
-----------------------------------------------------
public List<Student> queryStudentsByName(String name) {
List<Student> students;
try{
sqlSession = sf.openSession();
students = sqlSession.selectList("selectStudentByName", name);
}finally{
sqlSession.close();
}
return students;
}
------------------------------------------------------
@Test
public void queryStudentsByNameTest(){
IStudentDAO sDAO = new IStudentDAOIbatisImpl();
for(Student stu :sDAO.queryStudentsByName("x")){
System.out.println(stu);
}
}
如果是ibatis:
select s_id,s_name,s_age
from student
where s_name like '%$s_name$%'
-------------------------------------------------------
模糊查询的实现 两种方式:
一:在sql语句里写 % %
二:在参数中写 "%xxx%"
<select id="selectStudentByName" parameterType="String" resultType="Student">
select s_id,s_name,s_age
from student
where s_name like #{s_name}
</select>
@Test
public void queryStudentsByNameTest(){
IStudentDAO sDAO = new IStudentDAOIbatisImpl();
for(Student stu :sDAO.queryStudentsByName("%x%")){
System.out.println(stu);
}
}
在mybatis-3.1.0测试通过