mybatis的whereforeachset等标签详解

mybatis的whereforeachset等标签详解

ID:34724509

大小:52.64 KB

页数:8页

时间:2019-03-10

mybatis的whereforeachset等标签详解_第1页
mybatis的whereforeachset等标签详解_第2页
mybatis的whereforeachset等标签详解_第3页
mybatis的whereforeachset等标签详解_第4页
mybatis的whereforeachset等标签详解_第5页
资源描述:

《mybatis的whereforeachset等标签详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、sql语句where条件中,需要一些安全判断,例如按性别检索,如果传入的参数是空的,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。这是我们可以使用动态sql,增加一个判断,当参数不符合要求的时候,我们可以不去判断此查询条件。 下文均采用mysql语法和函数(例如字符串链接函数CONCAT3.1if标签 一个很普通的查询:Xml代码     

2、resultMap="studentResultMap">      SELECT*fromSTUDENT_TBLST     WHEREST.STUDENT_NAMELIKECONCAT(CONCAT('%',#{studentName}),'%')       但是此时如果studentName是null或空字符串,此语句很可能报错或查询结果为空。此时我们使用if动态sql语句先进行判断,如果值为null或等于空字符串,我们就不进行此条件的判断。修改为:Xml代码  

3、         SELECT*fromSTUDENT_TBLST                 WHEREST.STUDENT_NAMELIKECONCAT(CONCAT('%',#{studentName}),'%')          

4、lect>    此时,当studentName的值为null或’’的时候,我们并不进行where条件的判断,所以当studentName值为null或’’值,不附带这个条件,所以查询结果是全部。 由于参数是Java的实体类,所以我们可以把所有条件都附加上,使用时比较灵活,new一个这样的实体类,我们需要限制那个条件,只需要附上相应的值就会where这个条件,相反不去赋值就可以不在where中判断。  代码中的where标签,请参考3.2.1.Xml代码           SELECT*fromSTUDENT_TBLST                               ST.STUDENT_NAMELIKECONCAT(CONCAT('%',#{stu

6、dentName}),'%')                                   ANDST.STUDENT_SEX=#{studentSex}                                   ANDST.STUDENT_BIRTHDAY=#{studentBirthday}                     

7、              ANDST.CLASS_ID=#{classEntity.classID}                       查询,姓名中有‘李’,男,生日在‘1985-05-28’,班级在‘20000002’的学生。Java代码  StudentEntityentity=newStudentEntity(

8、);    entity.setStudentName("李");    entity.setStudentSex("男");    entity.setStudentBirthday(StringUtil.parse("1985-0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。