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

资阳市网站建设_网站建设公司_加载速度优化_seo优化

网站 tag标签,深圳建设工程信息价,国外免费网站,河南网站推广电话对于初学者#xff0c;如何进行mybatis的学习呢#xff1f;我总结了几点#xff0c;会慢慢的更新出来。首先大家需要了解mybatis是什么、用mybatis来做什么、为什么要用mybatis、有什么优缺点#xff1b;当知道了为什么的时候就开始了解如何用的问题#xff0c;如何使用my…对于初学者如何进行mybatis的学习呢我总结了几点会慢慢的更新出来。首先大家需要了解mybatis是什么、用mybatis来做什么、为什么要用mybatis、有什么优缺点当知道了为什么的时候就开始了解如何用的问题如何使用mybatis、有几种使用方式、各种方式的优缺点在这个阶段也会学习mybatis涉及到的一些标签的用法当知道了基础用法之后就开始接触一些高级的用法例如动态sql的使用、mybatis的缓存使用等至此在实战项目中使用mybatis进行开发已经没有问题了。 接下来就开始深入的研究一下mybatis这个持久层的框架在纯技术的方面进行研究提高自己的能力。首先大家需要了解一下mybatis的整体技术架构和工作原理接下来就开始了解一下mybatis各大核心组件的具体功能及其工作原理。至此算是对mybatis的原理简单的了解一下了由于博主的能力有限因此对于mybatis的框架技术研究也就到这里算结束了。 最后会了解一些其他的东西例如mybatis的逆向工程使用、如何开发一个mybatis插件在这里会介绍一下mybatis的分页实现等。 至此mybatis也算是入门了出去就可以和别人说你稍微了解mybatis框架对其也多少有一点自己的理解和看法了。 目录 1、动态sql 如何理解 1、1 什么是动态sql 1、2 OGNL 表达式         2、动态sql 如何使用 2、1 if 、where、set 标签 2、2 choose when、otherwise标签 2、3 trim 标签 2、4 foreach 标签 之前的 文章中 已经描述了mybatis进行增、删、改、查基本操作的处理方法还有如何使用输入映射和输出映射。mybatis 为了提高易用性和灵活性还提供了动态sql的功能。 1、动态sql 如何理解 1、1 什么是动态sql 简单一句话mybatis 可以根据特定的条件实现映射文件中 sql语句的动态拼接这就是动态sql。 想一种场景将User 传入到sql映射文件根据user_name 或者 age 进行数据的查询如果user_name 或者 age 为空时则不需要添加这个条件如何实现呢带着这个问题继续往下看。 1、2 OGNL 表达式         mybatis 中动态sql的实现使用的是一系列的标签和属性这些是基于OGNL 表达式。那么什么是OGNL 表达式呢 我没有研究过OGNL表达式这里对此就不做具体描述了看一下百度百科的介绍OGNL是Object-Graph Navigation Language的缩写它是一种功能强大的表达式语言通过它简单一致的表达式语法可以存取对象的任意属性调用对象的方法遍历整个对象的结构图实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。这样可以更好的取得数据。 OGNL 通过链式风格访问对象及其属性。 2、动态sql 如何使用 mybatis 中动态sql的实现依赖的是一系列的标签包括if、choose、when、otherwise、trim、where、set、foreach 等具体介绍和使用说明如下。 2、1 if 、where、set 标签 if 标签同java 中的if进行条件判断在sql 映射文件中的基本用法如下 select idgetUsers resultTypemapselect * from user whereif testid ! nullid #{id}/if!-- ognl会自动将数字和字符串进行转换 --if testage 0and age #{age}/if /select 例如上边这个写法如果id null就会到sql 错误针对于这种情况有两种处理方式  第一种就是流行最广泛的直接使用万能语句“where 11” 第二种是使用where标签具体用法如下 !-- 此时 and 要写在前边 -- whereif testid ! nulland id #{id}/ifif testage 0and age #{age}/if /where 第三种是使用trim 自定义标签规则实现具体用法在 2、3 展示。 set 标签一般用在进行数据修改sql 的拼接上具体使用如下 update idupdateStudentupdate student!-- 会自动添加set 并去掉无用的 逗号类似于 where 标签 --setif testname ! nullname #{name}, /ifif testage ! nullage #{age}, /ifif testsex ! nullsex #{sex}, /if/setwhere id #{id} /update 2、2 choose when、otherwise标签 选择标签类似于java中的 switch具体使用如下 select idselectUsers resultTypemapwherechoose!-- 注意每次只会进入一个分支 --when testid ! nullid#{id}/whenwhen testname ! nullname #{name}/whenotherwiseage #{age}/otherwise/choose/where /select 2、3 trim 标签 trim 标签可以用来自定义拼接的规则或者是指定sql 语句拼接时截取的规则trim 中返回的内容是整个字符串拼接后的结果使用接下俩使用trim 标签继续实现 2、1 中的需求具体如下 !-- prefix: 给拼接后的字符串添加一个前缀 where -- !-- prefixOverrides去掉整个字符串前面为and的字符串-- !-- suffix给拼接后的字符串添加一个后缀 and-- !-- suffixOverrides去掉整个字符串后面为 and的字符串--select idselectUsers resultTypemaptrim prefixwhere suffixand suffixOverridesandif testid ! nullid #{id}/ifif testage 0age #{age}/if/trim /select 因为 trim 是自定义拼接的规则所以使用trim 也可以实现set 标签的功能大家可以自己尝试写一下发到评论区大家一起看一下在这里就不写了。  2、4 foreach 标签 循环拼接时用到的标签一般用于批量数据添加对传进来的 list 进行循环拼接查询语句具体使用方式如下 !-- 批量添加记录的写法使用 foreach 进行批量添加语句的拼接其中collection 是接受的数据类型item 是迭代的每一个元素separator 是连接符 -- insert idinsertUserList useGeneratedKeystrue keyPropertyidinsert into oa_user (id, loginName, name) valuesforeach collectionlist itemuser separator,(#{user.id}, #{user.loginName}, #{user.name})/foreach /insert 好了如果同学从 第一篇 一直看到这个地方对于mybatis 的使用应该是有一定的了解了在实际开发中应该没有问题了。之后编写的文章中更多的是对于一些原理性的底层性的知识介绍有兴趣的同学可以继续。
http://www.lebaoying.cn/news/80322.html

相关文章:

  • 外贸网站推广移动端seo关键词优化
  • 网站快速建设视频还有用的网站
  • 免费私人网站友情链接举例
  • 深圳正规网站建设常平网页设计
  • wordpress仿站教程百度云如何做阿里巴巴企业网站
  • 阿里云上如何用iis做网站济南seo网站推广公司
  • 济南网站制作设计公司wordpress 主题和搭建
  • 商城网站建设资讯做企业网站代码那种好
  • 网络课程系统网站建设费用人才交流网站建设与设计
  • 上海网站建设找哪家公司wordpress 读取excel
  • 医疗网站跳出率wordpress上的博客
  • 怎样吧自己做的网站发布做任务悬赏网站
  • 外贸公司网站开发步骤网站推广平台代理
  • 常州网站建设选思创如何在wordpress中添加背景音乐
  • 安徽省水利建设厅官方网站校园网站建设考评办法
  • 网站的上传与发布响应页手机网站源码
  • 东莞免费建站公司微信公众好第三方网站怎么做
  • 山东兴华建设集团有限公司网站公司注册资金实缴政策最新
  • 无锡集团网站建设公司深圳住房建设局网站申报
  • 网站空间是指什么湖南手机响应式网站建设企业
  • 西宁电子商务网站建设网页设计外包价格
  • 怎么在百度上做免费网站南昌网站建设招聘
  • 怎样做招嫖网站wordpress 免费电商主题
  • jsp旅游网站的建设备案期间网站怎么关闭
  • 心悦dnf免做卡网站wordpress s.w.org
  • 咸阳网站开发联系方式如何做企业网站后台管理
  • 网站的访问量统计怎么做适合个人开发的小程序创意
  • php网站开发有前景吗网站开发内部工单
  • 企业网站推广的线上渠道wordpress 主题管理
  • 设计工作室网站源码精品网课