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

自己做配图的网站做网站知识大全

自己做配图的网站,做网站知识大全,网站建设 字体版权,网站后台管理系统源代码目录 1. 动态sql的应用 1.2 1.2 1.3 、 、 标签 1.4 1. 动态sql的应用 使用Mybatis框架时, 对于sql数据的操作量比较大的时候, 看着会觉得很乱, 可能写着写着就乱了, 或者说回过头来发现sql语句写错了, 很麻烦, 所以动态sql就可以让我们用Java代码, 替换部分sql语句 1.2 &l…

目录

1. 动态sql的应用

1.2

1.2

1.3  、 、 标签

1.4


1. 动态sql的应用

使用Mybatis框架时, 对于sql数据的操作量比较大的时候, 看着会觉得很乱, 可能写着写着就乱了, 或者说回过头来发现sql语句写错了, 很麻烦, 所以动态sql就可以让我们用Java代码, 替换部分sql语句

1.2 <if>

<select id="findUserByNameAndAge" resultType="User">SELECT * FROM usersWHERE 1 = 1<if test="name != null and name != ''">AND name = #{name}</if><if test="age != null">AND age = #{age}</if>
</select>

当 name 不为空字符串且不为 null 时,会在 SQL 语句中添加 AND name = #{name};当 age 不为 null 时,会添加 AND age = #{age}

所以当第一个if语句成立时, 完整的sql语句是这样的:

SELECT * FROM users
    WHERE 1 = 1 AND name = #{name}

 当两个if语句都成立时, 完整的sql语句是这样的:

SELECT * FROM users
    WHERE 1 = 1 AND name = #{name} AND age = #{age}

 那么为什么要加一个 1 = 1 并且每一个if语句后面要加一个AND吗?思考一下

如果两个if语句同时成立,那么个一个if语句就不需要AND,第二个if语句需要AND连接, 如果个if语句不成立,第二个if语句成立呢, 那就意味着不需要AND, 这就与前者相矛盾

既然如此, 当sql语句涉及到多个判断条件时, 可以在where后面, 加一个永远正确的判断, 这样就可以很好的解决矛盾

1.2 <where>

既然前面说到了if语句和where关键词有冲突, 那么当然会有一个where语句解决冲突, where语句会自动处理第一个AND,OR, 这很好的解决了前面的问题, 使得代码完全和不使用动态sql一致.

<select id="findUserByNameAndAge" resultType="User">SELECT * FROM users<where><if test="name != null and name != ''">name = #{name}</if><if test="age != null">AND age = #{age}</if></where>
</select>

可以看到, 第一个判断语句没有了AND, 并且省去了1=1 恒正确式

1.3 <choose>、<when>、<otherwise> 标签

这三个标签组合使用,类似于 Java 中的 switch - case - default 语句,会从多个条件中选择一个满足的条件执行。

<select id="findUserByCondition" resultType="User">SELECT * FROM usersWHERE 1 = 1<choose><when test="name != null and name != ''">AND name = #{name}</when><when test="age != null">AND age = #{age}</when><otherwise>AND status = 'active'</otherwise></choose>
</select>

otherwise可以当作default,  这些标签了解即可,尽量用简单的方式表达

无论是大厂还是小厂,都力求简洁, 完美主义不可取, 在你看来花了很多时间完善的一些业务的bug, 觉得甲方的功能, 页面不好看, 就自己改, 在别人看来就是无用功, 而且还会影响项目进度

1.4 <set>

<set> 标签用于动态更新 SQL 语句中的 SET 子句,会自动处理多余的逗号

<update id="updateUser" parameterType="User">UPDATE users<set><if test="name != null and name != ''">name = #{name},</if><if test="age != null">age = #{age}</if></set>WHERE id = #{id}
</update>

如果 <if> 标签中的条件都不满足,<set> 标签不会添加 SET 关键字;如果有条件满足,<set> 标签会自动添加 SET 关键字,并去掉最后一个条件后的逗号。

 这些都是常用的标签, 简单的sql语句可以直接写, 切记不要把简单复杂化

http://www.dtcms.com/wzjs/586385.html

相关文章:

  • 买了个区域名怎么做网站恐怖音乐怎么做的视频网站
  • 免费空间自助建站模板潼南国外免费自助建站
  • 网站建设的类型wordpress换网址
  • 做网站赚钱的案例搜狗链接提交入口
  • 做网站图注意事项小程序开发教程电子书
  • 连云港网站建设wang合肥关键词排名推广
  • 新手 网站建设 书籍企业主页是什么
  • 服务器网站绑定域名网站建设简历网站推荐
  • 商城网站建设信息外贸网站建设设计方案
  • 广饶网站设计企业创建网站的途径
  • 成都公司网站seo霸榜seo
  • 网站建设的书籍深圳软件有限公司
  • 外贸企业做网站河北网站建设seo优化营销制作设计
  • 口碑好的东莞网站建设关于网站建设的合同范本
  • vue做的个人网站wordpress模板安装
  • 自己做网站怎么搜索邯郸哪里做网站好
  • 网站建设小程序公众号销售seo网站建设技巧
  • 站内关键词排名软件深圳集团网站建设哪家好
  • reactjs 做网站如何做电影网站赚钱吗
  • 长沙网站建设有限公司上饶市建设厅网站
  • 企业如何找网络公司做网站国家商标局
  • 单页网站有哪些铭望家装公司电话
  • 网站安全建设方案步骤网站开发小组
  • 宿州网站建设哪家公司好网站开发课程设计参考文献
  • 网站运营推广难做客户关系管理的含义
  • 物流公司网站建设模板北京便宜的网站建设
  • 宁波网站建设找哪家好企业营销策划推广
  • 东莞网站推广设计网站建设合同性质
  • 有个人做网站的网站开发框架书籍
  • 互联网网站开发服务合同范本珠海知业科技