`
onlyor
  • 浏览: 370159 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MyBatis模糊查询

阅读更多

MyBatis模糊查询

(2012-02-04 12:36:13) 转载


映射文件:

 

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

分享到:
评论
2 楼 onlyor 2014-09-10  
灰太狼1991 写道
很受用,请教一下博主,mybatis模糊查询是不是和版本也有关,我在别的地方参考是这样写的:like "%"#{s_name}"%",不过我试了之后是错的,劳烦大神指点一下


"%"#{s_name}"%"


干嘛加红色的引号
1 楼 灰太狼1991 2014-09-04  
很受用,请教一下博主,mybatis模糊查询是不是和版本也有关,我在别的地方参考是这样写的:like "%"#{s_name}"%",不过我试了之后是错的,劳烦大神指点一下

相关推荐

Global site tag (gtag.js) - Google Analytics