详解Mybatis模糊查询和动态sql语句的用法_第1页
详解Mybatis模糊查询和动态sql语句的用法_第2页
详解Mybatis模糊查询和动态sql语句的用法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、详解Mybatis模糊查询和动态sql语句的用法Mybatis模糊查询和动态sql语句模糊查询对数据库最常用的操作就是查询了,但是如何使用Mybatis进行模糊查询呢?下面先看一个简单的模糊查询vselectid=selectO1resultMap=BasicResultMapSELECT*FROMoa_employeeWHEREemp_nameLIKE#asd这是一条伪模糊查询,因为没有实现真正的模糊“”。参数为字符串,所以#中内容不被限制。但是应该如何插入%字符呢。我们首先想到的是传递字符串参数时将插入到字符串中“张”,但是这种方法操作略微繁琐了一些。下面提供了使用sql方法的策略SELE

2、CT*FROMoa_employeeWHEREemp_nameLIKECONCAT(#asd另外一种不推荐的写法给大家SELECT*FROMoa_employeeWHEREemp_nameLIKE$emp_name%他是在#表达式自动填入value值,值得注意的是“_parameter.getEmp_name()调用的方法是对象中作为查询参数的属性的get方法多条件查询多种条件查询的要点是判断查询条件是否为空,拼接sql语句。在mybatis中提供了if标签和where标签。下面来介绍两种标签的用法。f标签SELECT*FROMoa_employeeWHERE1=1andemp_name=#e

3、mp_nameandsex=#emp_sexmybatis中的if标签有些类似于EL表达式的使用,test中可以直接写入类中的属性或者key值。where标签vselectid=selectO1resultMap=BasicResultMapSELECT*FROMoa_employeeandemp_name=#emp_nameandsex=#emp_sex这里的where标签替换了前一段代码的where1=1。mybatis中的where标签会判断标签内是否有内容,如果有内容就自动生成where并把where后面的第一个and+个空格,or+个空格去掉。choose,when和otherwis

4、e标签SELECT*FROMoa_employeeandemp_name=#emp_nameandsex=#emp_sexemp_id=50当所有条件不满足时,执行otherwise标签的内容。trim标签SELECT*FROMoa_employeeandemp_name=#emp_nameandsex=#emp_sextrim标签的属性及其含义“prefix:标签之间有内容在最前面加入“prefixOverrides:检查内容的最前面是否匹配,匹配就删除suffix:标签之间有内容在最后面加入“suffixOverrides:检查内容的最后面是否匹配,匹配就删除set标签set标签常用于up

5、date操作,并且会自动抹掉无关的vupdateid=update01UPDATEoa_employeeemp_name=#emp_name,sex=#emp_sexWHEREemp_id=50Updateforeach标签foreach用于处理数组或者list集合,下面是一个批量添加的例子vinsertid=insert01INSERTINTOoa_employee(emp_name,sex,fk_dept_id)VALUESvforeachcollection=listitem=employeeseparator=,(#employee.emp_name,#employee.emp_sex,#employee.fk_dept_id)其中如果参数为数组贝Ucollection只能为“array参数为List集合则collection只能为listitem类似JSTL中的var的作用,指代容器中的每一个对象。separator=,的含义是每条数据以,分割。未注明的属性有open和close他们的含义是在遍历开始和结束时分别添加其内容。DOJ果程引入旧二氏從】oijoiaJAVA石士施旦旧士二说11【弓士三说】制呂士丘俛】1M5法的UTJDEAH慈凋用,2士冊

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论