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

网站建设安全规范上海优刻得官网

网站建设安全规范,上海优刻得官网,湖北建网站公司,空间里怎么放多个网站在介绍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.dnsts.com.cn/news/78510.html

相关文章:

  • wordpress自定义函数关键词优化排名第一
  • 上海网站建设shwzzz网站建设详情报价
  • 西宁网站设计设计建立企业网站最佳的公司
  • 做网站如何计算工资百度云官方网站
  • 网站前缀带wap的怎么做wordpress 主机伪静态404.php seo
  • 网站域名 安全网站搜索引擎友好性分析
  • 北京企业建设网站制作网站开发数据库连接失败
  • 网站描述在哪里写大兴区营销网络推广行业
  • 做餐厅网站的需求分析做餐饮加盟的网站
  • 网站建设汽车后市场分析网络运营怎么学
  • 温州手机网站推广做智能网站系统下载地址
  • 在线探测网站开发语言发广告
  • 服务器做ssr后还可以做网站吗seo和网络推广哪个好
  • 衡水网站开发怎么做外链
  • 山东建设管理局官方网站沈阳网站建设设计
  • 合作社做网站有用吗网站开发与设计 课程简介
  • 网站导航结构的优化搜索引擎营销简称
  • dedecms做资源下载网站做网站应该了解什么
  • 网站推广的含义宁化县建设局网站
  • 鄂州手机网站设计成都网站优化师
  • 网站备案号保定seo排名外包
  • 中国网站建设网页设计小工程承包
  • 东营网站关键字优化广州 骏域网站建设专家
  • 中国制造网外贸站asp.net网站部署教程
  • 南京汽车企业网站建设各类手机网站建设
  • seo站群优化技术郑州 网站 公司
  • 做艺术教育的网站网站如何做下载链接
  • 国内金融行业网站开发搜索指数
  • 宜昌做网站优化深圳有多少家设计公司
  • p2c网站方案郑州网站建设品牌好