当前位置: 首页 > 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.hkea.cn/news/14325378/

相关文章:

  • 交互网站设计wordpress调用推荐文章代码
  • 网站制作的设计思路wordpress头像无法显示
  • 网站开发流程莆田wordpress 文章添加字段
  • 百度网盘怎样做网站公司网站建设排名
  • 媒体网站 建设网络强国图片列表wordpress主题
  • 个人备案挂企业网站收费wordpress主题排行
  • 网站图片等比缩小怎么做美瞳网站
  • 安徽元鼎建设公司网站怎么做百度里面自己的网站
  • php网站开发技术前景重庆网站推广
  • 罗湖装修公司网站建设个人可以做网站么
  • 网站加首页学动漫有什么出路
  • 做好我局门户网站建设工作网站建设中管理员登录的代码怎么写
  • 大连企业模板建站营销型网站建设团队
  • 建设网站空间多少钱电商在线官方
  • 上海网站开发报价济阳做网站公司
  • cnzz站长统计工具做网站哪个好
  • 网站站长统计怎么做网站热区图
  • 传媒公司做网站编辑_如何?邯郸信息港二手物品出售
  • 换ip对网站有影响吗毕设做网站需要准备
  • 网站做推广 建设哪种类型合适建一个个人网站要多少钱
  • wordpress做网站手机没有网站怎么做推广
  • 做网站建设的利润seo竞价网站建设
  • 旅游电商网站排名公司logo背景墙实景图
  • 网络营销导向型企业网站建设特征什么是主机托管
  • 网站开发切换电脑版与手机版佛山营销网站建设服务公司
  • 可信赖的扬中网站建设连锁销售官网
  • 九江 网站建设有网站的源代码怎么生成网站
  • 网站建设策划报价html5个人网页制作代码
  • 建设信用卡银行积分商城网站跨境电商自建站平台
  • 搜索量最高的网站网站seo标题优化技巧