MyBatis(五)--日志与逻辑运算

匿名 (未验证) 提交于 2019-12-02 23:43:01

1.日志包(log4j)导入,具体看第一条

2.日志配置文件(放在src目录下,且名字为【log4j.properties】),这是MyBatis中写好的东西,所以并不能像MybatisConfig一样自行解决

算了欠着,感觉日志这一栏要专门搞

二 MyBatis中逻辑运算的使用

1.<if>的使用

(1)基本使用

当goods有值时

查询结果:select * from goods where 1=1 and mid=?

查询结果:此处异常时因为:我写的返回值为Goods对象,没有值时会返回多条数据List结果

where标签的作用在于,添加where并且将第一条真的执行的语句的and去掉

(3)set中的if标签,对于if的使用,我们不仅仅是在where中使用,在update语句中,set语句依旧需要使用。相信你也注意到,这些标签的本质就是拼接字符串,set的语法与where是有很大的不同的,所以标签的写法也不同

执行语句

执行结果

这里可以看到,相较于where考虑语句前的and,我们需要考虑的是每个语句后面的逗号,所以在结尾加上mid=#{mid},因为对于对于大多数表来说,是不会允许或者不建议修改主键的。

执行结果

2.<choose>标签的使用:与switch语句使用类似,但是多选一,when相当于case,otherwise则是when全部无效时使用。

(1)where中的使用,其他与<if>标签类似

执行过程

执行结果

可以看出,即使有两个条件,但是当第一个条件判断成功后,就不会往下执行了,相当于break。

(2)<set>标签的使用:其实不常用,因为set修改并非只修改一个就够了

3.<foreach>标签的使用





(2)多使用与in中,多个对象的查询(又非全对象)

执行语句

执行结果:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!