码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis学习笔记

时间:2014-09-16 12:14:40      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   使用   java   ar   strong   for   

一、mybatis模糊查找的几种写法(转载):

1. sql中字符串拼接

   SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT(‘%‘, #{text}), ‘%‘);

 

2. 使用 ${...} 代替 #{...}

   SELECT * FROM tableName WHERE name LIKE ‘%${text}%‘;

 

3. 程序中拼接

   Java

   // String searchText = "%" + text + "%";

   String searchText = new StringBuilder("%").append(text).append("%").toString();

   parameterMap.put("text", searchText);

 

   SqlMap.xml

   SELECT * FROM tableName WHERE name LIKE #{text};

 

4. 大小写匹配查询

   SELECT *  FROM TABLENAME  WHERE UPPER(SUBSYSTEM) LIKE ‘%‘ || UPPER(‘jz‘) || ‘%‘

   或者 

   SELECT *   FROM TABLENAME  WHERE LOWER(SUBSYSTEM) LIKE ‘%‘ || LOWER(‘jz‘) || ‘%‘

 

在mybatis模糊查找时出现There is no getter for property named ‘teacherName‘ in ‘class java.lang.String‘

错误写法:

1 <select id="findAllProjectLevelByTeacher"  parameterType="String" resultType="String">
2 SELECT DISTINCT Level FROM project WHERE TeacherName LIKE %${teacherName}%
3 </select>

解决方法:这种情况下,不管函数里面参数名是什么,都要改为_parameter

正确写法:

1 <select id="findAllProjectLevelByTeacher"  parameterType="String" resultType="String">
2 SELECT DISTINCT Level FROM project WHERE TeacherName LIKE %${_parameter}%
3 </select>

二、mybatis查询时多参数的传递方法

1、通过hashmap来传,在XML中配置好对应的parameterMap。通过属性<select>的parameterMap或者parameterType调用即可

注意:在定义函数时,参数也应该是hashmap类型的

2、XML中直接用#{1},#{2}...等方法把对应的参数传入,注意定义函数时,需用@Param("")对应把每个参数与XML中的参数名对应起来。

 XML:

1 <select id="findAllProjectNameByLevel" resultType="String">
2 SELECT DISTINCT Name FROM project WHERE TeacherName LIKE %${teacherName}% AND Level LIKE %${level}% 
3 </select>

DAO:

 1 List<String> findAllProjectNameByLevel(@Param("teacherName")String teacherName,@Param("level")String level); 

 

注意:模糊查找时,只有一个参数的时候用_parameter,在模糊查找条件只有一个,即一个Like ‘%%‘,但还有其他参数时,如 select *  from student where sName like ‘%参数1%‘ limit 参数2,参数3,这种情况也是和多参数传递方法一样的

 

 

 

 

 

 

 

 

 

 

 

 

 

mybatis学习笔记

标签:style   blog   color   os   使用   java   ar   strong   for   

原文地址:http://www.cnblogs.com/John-Lyn/p/3848178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!