当前位置: 首页 > news >正文

迅睿cms建站帝国做的电影网站

迅睿cms建站,帝国做的电影网站,非洲外贸平台有哪些,做网站每年交服务费在介绍MyBatis动态SQL实现原理之前#xff0c;我们先来了解一下MyBatis动态SQL的使用。顾名思义#xff0c;动态SQL指的是事先无法预知具体的条件#xff0c;需要在运行时根据具体的情况动态地生成SQL语句。 假设我们有一个获取用户信息查询操作#xff0c;具体的查询条件…在介绍MyBatis动态SQL实现原理之前我们先来了解一下MyBatis动态SQL的使用。顾名思义动态SQL指的是事先无法预知具体的条件需要在运行时根据具体的情况动态地生成SQL语句。 假设我们有一个获取用户信息查询操作具体的查询条件是不确定的取决于Web前端表单提交的数据可能根据用户的Id进行查询也可能根据用户手机号或姓名进行查询还有可能是这几个条件的组合。这个时候就需要使用MyBatis的动态SQL特性了。下面是使用MyBatis动态SQL进行条件查询的一个案例代码如下 select idgetUserByEntity resultTypecom.blog4java.mybatis.example.entity.UserEntityselectinclude refiduserAllField/from userwhereif testid ! nullAND id #{id}/ifif testname ! nullAND name #{name}/ifif testphone ! nullAND phone #{phone}/if/where/select 在上面的Mapper配置中当我们不确定查询条件时可以使用where和if标签通过OGNL表达式判断参数内容是否为空如果表达式结果为true则MyBatis框架会自动拼接if标签内的SQL内容否则会对if标签内的SQL片段进行忽略。 如上面配置中的where标签用于保证至少有一个查询条件时才会在SQL语句中追加WHERE关键字同时能够剔除WHERE关键字后相邻的OR和AND关键字。 除了if和where标签外MyBatis动态SQL相关的标签还有下面几个。choose|when|otherwise这几个标签需要组合使用类似于Java中的switch语法使用如下 select idgetUserInfo resultTypecom.blog4java.mybatis.example.entity.UserEntityselectinclude refiduserAllField/from user where 1 1choosewhen testid ! nullAND id #{id}/whenwhen testname ! nullAND name #{name}/whenotherwiseAND phone is not null/otherwise/choose/select 这组标签与if标签不同的是所有的when标签和otherwise标签是互斥的当任何一个when标签满足条件时其他标签均视为条件不成立。 foreach该标签用于对集合参数进行遍历通常用于构建IN条件语句或者INSERT批量插入语句。例如当我们需要根据一组手机号查询用户信息时可以使用如下配置 select idgetUserByPhones resultTypecom.blog4java.mybatis.example.entity.UserEntityselectinclude refiduserAllField/from userwhere phone inforeach itemphone indexindex collectionphonesopen( separator, close)#{phone}/foreach/select trim|set这两个标签的作用和where标签的作用类似用于WHERE子句中因为不同的条件成立时导致AND或OR关键字多余或者SET子句中出现多余的逗号问题。 假如我们使用if标签进行动态SQL配置具体配置内容如下 select idgetUserByEntity resultTypecom.blog4java.mybatis.example.entity.UserEntityselectinclude refiduserAllField/from userwhereif testid ! nullAND id #{id}/ifif testname ! nullAND name #{name}/ifif testphone ! nullAND phone #{phone}/if/select 当调用Mapper时传入的id参数和name参数都不为空时生成的SQL是没问题的。但是当没有传入id参数或传入的id为空而name参数不为空时生成的SQL语句如下 select * from user where AND name? 显然这种情况下生成的SQL语句是存在语法问题的此时除了使用where标签外还可以使用trim标签来解决这个问题。trim标签的使用如下 select idgetUserByEntity resultTypecom.blog4java.mybatis.example.entity.UserEntityselectinclude refiduserAllField/from usertrimif testid ! nullAND id #{id}/ifif testname ! nullAND name #{name}/ifif testphone ! nullAND phone #{phone}/if/trim/select set标签的作用和trim标签类似用于避免SET子句中出现多余的逗号。这里就不做过多介绍了可参考MyBatis官方文档。
http://www.hkea.cn/news/14460188/

相关文章:

  • 淘客cms网站建设网站用单页面框架做
  • 盘锦建网站网络推广员怎么做
  • 营销型网站建设找哪家有哪些看设计做品的网站
  • 建网站公司专业制作网站基本步骤
  • 最新网站建设视频永康市建设银行网站查询
  • 网站框架策划租用网站服务器
  • 金融企业网站建设公司公司手机网站制作
  • 网站开发的可行性报告创业项目
  • 公司网站建设公司排名宝安区网站建设培训
  • 网站游戏入口h5素材做多的网站
  • 织梦m网站伪静态各大免费推广网站
  • html5 网站公司网站建设计划
  • 网站备案审核要多久商城小程序介绍
  • 网站建设公司在哪里找资源龙南黄页全部电话
  • 国外做的比较的ppt网站长沙网站设计服务商
  • 把asp.net写的网站别人怎么访问关于网站建设 策划文案
  • 百度上公司做网站sem培训学校
  • 上海省住房与城乡建设厅网站安徽柱石建设有限公司网站
  • 网站平台建设十大公司郑州经济技术开发区政务服务中心
  • 网站开发的路径是什么聊城市建设局网站
  • 做网站销售说辞wordpress 分类目录 丢失
  • 网站建设预算表格网站的后续优化方案
  • 可信网站logo哈尔滨百度网站快速优化
  • 洛阳网站制作鄞州区住房和城乡建设局网站
  • 怎么给汽车网站做推广15秒创意广告短片
  • 高端网站价格爬虫 wordpress
  • 宁夏建设厅网站6wordpress 支持php7.1
  • 网站建设公司怎样布局有做盆景的网站
  • 南宁网站建设产品介绍一个网站上线需要什么
  • 坑梓网站建设方案网站面包屑如何做