MyBatis模糊查询

映射文件:

 

<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测试通过


转载自http://onlyor.iteye.com/blog/1678501

你可能感兴趣的:(MyBatis模糊查询)