

哈哈分享几组小编元旦假期出去玩看到的烟花照片哈哈 好看吗?嘻嘻
感觉自己还沉浸在元旦的假期中,没心情工作了都/哭
好了开心的节日过完之后
不要忘记学习呀!
今天分享得是 动态 sql
if 标签和 where 标签
还记得我们上一下次分享的 mapper 的特性中有一个就是传入包装类的查询语句吗?

我们上面用的是登录名查询,要是我们想用别的字段查询呢?毕竟我们传入的是一个包装类。包含了很多的字段,像用户名,生日等等。这个时候就可以利用我们的 if 标签和 where 标签。

where 标签只有在一个以上的 if 条件有值的情况下才去插入“WHERE”子句。而且,若最后的内容是“AND”开头的,where 元素也知道如何将他们去除。后面这句话可以这样理解!

如果没有 where 标签,我们的 SQL 语句就如上图所示。当 loginName 为空的时候,我们的 SQL 语句就变成了
SELECT USER_ID ,USER_NAME ,LOGIN_NAME ,BIRTHDAY,TV_UPDATE FROM M_USER WHERE AND USER_NAME LIKE '%${user.userName}%'
这样 SQL 语句就出错了,当我们使用 标签的时候,如果遇到的第一个条件,出现 and 的时候,就会把这个 and 去掉。
foreach
这个标签我们应该很眼熟了。我们直接上例子。
需求:需要查询指定id集合的所有用户信息
SELECT * FROM M_USER WHERE USER_ID IN (1,2,3)
在我们的包装类中添加一个 list ids 集合。

AND USER_ID IN(1,2,3)
collection :输入参数的属性
open :循环前的开始符号
close:循环后的结束符
separator:分隔符
就把我们的两条数据取出来了
sql 片段
我们在写这个 SQL 映射文件的时候,有很多重复的 SQL 语句。将这些重复的SQL 语句提取出来,称为 SQL 片段,给不同方法使用。
把我们的 SQL 语句提取出来,用 SQL 标签包起来。然后再用 include 标签,导进语句中。
像这些我们需要查询的字段,也可以这样子搞。
测试一下。
增加记录返回主键
这个就是增加一条记录的时候,拿到我们增加的记录的 id 号,这个在我们之后的复杂的项目中有很大的作用。



那么今天的分享就到这里了!
2017年已经过去了
定的小目标都实现了吗?
嘿嘿
那么
2018 我们来了!
如果你想了解java,想学习java请关注微信公众号:java团长
推荐关注我的微信公众号“web前端开发html”里面我写了很多学习建议和学习方法、学习规划,还有清晰的系统学习路线图,希望可以帮助大家。