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

网站建设工作进度计划表石家庄网站优化

网站建设工作进度计划表,石家庄网站优化,长春电商网站建设哪家好,对做的网站的改进建议文章目录动态 SQL1. if 标签2. trim 标签3. where 标签4. set 标签5. foreach 标签回顾一下,在上一篇 MyBatis 之三(查询操作 占位符#{} 与 ${}、like查询、resultMap、association、collection)中,学习了针对查询操作的相关知识点…

文章目录

  • 动态 SQL
  • 1. if 标签
  • 2. trim 标签
  • 3. where 标签
  • 4. set 标签
  • 5. foreach 标签

回顾一下,在上一篇 MyBatis 之三(查询操作 占位符#{} 与 ${}、like查询、resultMap、association、collection)中,学习了针对查询操作的相关知识点,理解了占位符 #{}与 ${}的区别,还有 like 查询要使用 concat() 进行拼接,针对字段名称和属性名不同时要使用resultMap,重点学习了一对一查询用 association,一对多查询用 collection 以及这两个标签对应属性的学习

本篇将学习 MyBatis 强大特性之一的动态 SQL

动态 SQL

动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。

使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用性。

1. if 标签

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kYOZDImX-1676205611731)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675824562270.png)]

if 标签作用:判断一个参数是否有值,如果没值,那就会隐藏 if 中的 sql

语法:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7InFxK5S-1676205611731)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675824950223.png)]

<!-- 添加用户(测试 <if> 标签),photo 是非必传参数 -->
<insert id="add2">insert into userinfo(username,password<if test="photo!=null">,photo</if>) values(#{name},#{password}<if test="photo!=null">,#{photo}</if>)
</insert>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oASMZXim-1676205611731)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675826233789.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wrk7OHZV-1676205611732)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675826554315.png)]


2. trim 标签

如果在某种情况下,所有的属性为非必填,那么你不知道哪个属性肯定会填上,按照 的做法,这就会导致可能某个字段后面出现“,”的问题

这就要考虑使用标签结合标签,对多个字段都采取动态⽣成的⽅式

标签作用:去除 SQL 语句前后多余的某个字符,其属性有

  • prefix:表示整个语句块,以prefix的值作为前缀
  • suffix:表示整个语句块,以suffix的值作为后缀
  • prefixOverrides:表示整个语句块要去除掉的前缀
  • suffixOverrides:表示整个语句块要去除掉的后缀

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qwFktzpB-1676205611732)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675827298604.png)]

<!-- 添加用户,其中 username、password、photo 都是非必传参数 -->
<insert id="add3">insert into userinfo<trim prefix="(" suffix=")" suffixOverrides=","><if test="name!=null">username,</if><if test="password!=null">password,</if><if test="photo!=null">photo</if></trim>values<trim prefix="(" suffix=")" suffixOverrides=","><if test="name!=null">#{name},</if><if test="password!=null">#{password},</if><if test="photo!=null">#{photo}</if></trim>
</insert>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5SS3BMbe-1676205611732)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675828299302.png)]


3. where 标签

where 标签作用:实现查询中的 where 替换,它可以实现如果没有任何的查询条件,那么它可以隐藏查询中的 where sql,但如果存在查询条件,那么会生成 where 的sql 查询,并且使用 where 标签可以自动的去除最前面的一个 and 字符

<!-- 根据 id 查询用户 -->
<select id="getUserById" resultMap="BaseMap">select * from userinfo<where><if test="id!=null">and id=#{id}</if></where>
</select>

不传参数时

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-INCbnfuP-1676205611732)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675828929067.png)]

传参数时

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JhqMJCmA-1676205611733)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675829384322.png)]

where 标签也可以使⽤ trim prefix=“where” prefixOverrides=“and” 替换


4. set 标签

set 标签作用:进行修改操作时,配合 if 来处理非必传参数的,它的特点是会自动去除最后一个英文逗号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y65XJKkL-1676205611733)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675830578023.png)]

<!-- 修改用户, 测试 <set> 标签 -->
<update id="update2">update userinfo<set><if test="name!=null">username=#{name},</if><if test="password!=null">password=#{password},</if><if test="photo!=null">photo=#{photo}</if></set>where id=#{id}
</update>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2FUGpdnU-1676205611733)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675831267788.png)]

set标签也可以使⽤ trim prefix=“set” suffixOverrides=“,” 替换


5. foreach 标签

标签作用:对集合进行循环的。其属性

  • collection:绑定⽅法参数中的集合,如 List,Set,Map或数组对象
  • item:遍历时的每⼀个对象
  • open:语句块开头的字符串
  • close:语句块结束的字符串
  • separator:每次遍历之间间隔的字符串
<!-- 删除用户,测试 <foreach> 标签 -->
<delete id="delIds">delete from userinfo where id in <foreach collection="ids" open="(" close=")" item="id" separator=",">#{id}</foreach>
</delete>

在这里插入图片描述


文章转载自:
http://dinncoseater.tpps.cn
http://dinncoprognosis.tpps.cn
http://dinncoamylopectin.tpps.cn
http://dinncojurisconsult.tpps.cn
http://dinncopropyne.tpps.cn
http://dinncooutbrave.tpps.cn
http://dinncochondroma.tpps.cn
http://dinncoangor.tpps.cn
http://dinncogangland.tpps.cn
http://dinncojudicable.tpps.cn
http://dinncoworkpaper.tpps.cn
http://dinncovirustatic.tpps.cn
http://dinncotorchbearer.tpps.cn
http://dinncosicklemia.tpps.cn
http://dinncopercher.tpps.cn
http://dinncoanomie.tpps.cn
http://dinncorumpy.tpps.cn
http://dinncosumotori.tpps.cn
http://dinncoreverent.tpps.cn
http://dinnconasdaq.tpps.cn
http://dinncolike.tpps.cn
http://dinncoshillong.tpps.cn
http://dinncostagecoach.tpps.cn
http://dinncotragicomical.tpps.cn
http://dinncowend.tpps.cn
http://dinncoshrunk.tpps.cn
http://dinncosanderling.tpps.cn
http://dinncosowens.tpps.cn
http://dinncopug.tpps.cn
http://dinncopentium.tpps.cn
http://dinncounsaddle.tpps.cn
http://dinncounrivaled.tpps.cn
http://dinncodividable.tpps.cn
http://dinncosteward.tpps.cn
http://dinncodisciplinal.tpps.cn
http://dinncoknocking.tpps.cn
http://dinncoeucalyptol.tpps.cn
http://dinncoextinction.tpps.cn
http://dinncosociological.tpps.cn
http://dinncosubentry.tpps.cn
http://dinncotanintharyi.tpps.cn
http://dinncoportionless.tpps.cn
http://dinncochildless.tpps.cn
http://dinncoserigraphic.tpps.cn
http://dinncoexcommunication.tpps.cn
http://dinncosorrily.tpps.cn
http://dinncoauthentification.tpps.cn
http://dinncotempered.tpps.cn
http://dinncoflout.tpps.cn
http://dinncobetrayal.tpps.cn
http://dinncoutter.tpps.cn
http://dinncotailored.tpps.cn
http://dinncorealise.tpps.cn
http://dinnconarrowness.tpps.cn
http://dinncoasteroidean.tpps.cn
http://dinncoforehandedly.tpps.cn
http://dinncochromogen.tpps.cn
http://dinncogroup.tpps.cn
http://dinncocanned.tpps.cn
http://dinnconepaulese.tpps.cn
http://dinncodorsad.tpps.cn
http://dinncoqcb.tpps.cn
http://dinncoplaystation.tpps.cn
http://dinncomonostichous.tpps.cn
http://dinncosago.tpps.cn
http://dinncogobbledegook.tpps.cn
http://dinncolute.tpps.cn
http://dinncochinchin.tpps.cn
http://dinncoskunkery.tpps.cn
http://dinncopsychanalysis.tpps.cn
http://dinncomohican.tpps.cn
http://dinncoflay.tpps.cn
http://dinncogallopade.tpps.cn
http://dinncomythopoeia.tpps.cn
http://dinncouricase.tpps.cn
http://dinncomonandry.tpps.cn
http://dinncoisobar.tpps.cn
http://dinncoloris.tpps.cn
http://dinncocoalball.tpps.cn
http://dinncoshamba.tpps.cn
http://dinnconitrite.tpps.cn
http://dinncofuzzball.tpps.cn
http://dinncoretransfer.tpps.cn
http://dinncomoco.tpps.cn
http://dinncohartebeest.tpps.cn
http://dinncoindependence.tpps.cn
http://dinncoshellproof.tpps.cn
http://dinncomarch.tpps.cn
http://dinncobuddybuddy.tpps.cn
http://dinncocounterpiston.tpps.cn
http://dinncoclaytonia.tpps.cn
http://dinncoagouti.tpps.cn
http://dinncoaplanatic.tpps.cn
http://dinncoeruditely.tpps.cn
http://dinncomelange.tpps.cn
http://dinncosocietal.tpps.cn
http://dinncoholpen.tpps.cn
http://dinncohaematopoietic.tpps.cn
http://dinncofeldspathoid.tpps.cn
http://dinncoimpermanency.tpps.cn
http://www.dinnco.com/news/107772.html

相关文章:

  • 公司网站建设与管理的作用游戏推广代理app
  • 上海网站建设公司怎么分辨好坏seo标题生成器
  • 武夷山网站推广中国疫情最新情况
  • 深圳企业网站建设电话网站免费搭建平台
  • 绵阳住房和城乡建设厅网站武汉网站seo推广
  • 南阳网站建设.com品牌营销平台
  • 潍坊网站制作价格指数分布
  • 潍坊高新区建设局门户网站有没有专门做策划的公司
  • wordpress如何导入数据库沈阳seo
  • 网络营销服务是什么seo如何优化一个网站
  • 怎样做货源网站企业网站优化公司
  • 建站宝盒破解版向日葵seo
  • 提供网站建设公司报价百度推广和百度竞价有什么区别
  • 芜湖建设机械网站免费的建站平台
  • 网站建设周期计划湖南专业关键词优化服务水平
  • 网站建设ppt方案模板下载seo搜索引擎优化教程
  • 做交易网站需要用到的软件有哪些seo培训学院官网
  • 怎么做整人点不完的网站视频网站开发合同
  • 好用的软件下载网站企业网站定制开发
  • 怎么样做个网站潍坊网站建设优化
  • 南阳做网站优化公司百度域名收录
  • 各大网站图片昆明seo案例
  • 网站建设的公司整站优化报价
  • 太原建站模板搭建seo关键词排名优化费用
  • 不在百度做推广他会把你的网站排名弄掉成都百度推广开户公司
  • 网站建设有哪些内容关键词推广排名
  • 天水网站制作外贸推广平台
  • 一个企业网站文章多少适合什么平台可以推销自己的产品
  • 网站你了解的最近三天的新闻热点
  • 广州做网站优化公司报价品牌推广的方式有哪些