Administrator
发布于 2022-10-26 / 42 阅读
0
0

Mybatis 动态sql

一个小问题

在配置打印sql日志的时候,参照mybatis的文档来,但死活没有输出日志,问题其实就是下图官方文档说的

image-1666784597322

但让我疑惑的是,我只导入了log4j的包,别的只有mvc、web的包了,也没有tomcat啥的,我以为setting这段配置是没有必要的,但最后配上了才好。不理解

动态SQL

介绍如下

image-1666784856164
 
补充几个要注意的点好了(好歹是学习笔记):

1、where标签

我们的查询语句就放在where标签内,每一个and放在前面,不要放在后面。放在后面就不能帮我们去掉多的and了

2、trim标签

    截取字符串
    prefix属性:为下面的sql整体添加一个前缀
    prefixOverrides属性:取出整体字符串钱多多余的字符
    suffix:为整体添加一个后缀
    suffixOverrides:后面哪个多了可以去掉

3、foreach遍历元素

foreach遍历集合
            collection属性:指定要遍历集合的key
            close属性:以书什么结束
            item属性:每次遍历的元素,命名任意,方便引用
            index属性:
                如果遍历的是一个list,指定变量保存的当前元素的索引
                    item为值
                如果遍历的是一个map,指定变量保存的当前元素的key
                    item为value值
            open属性:以什么开始
            separator属性:每次遍历元素的分隔符

4、choose标签

when标签:设置情况;满足后其他情况跳过

otherwise标签:当所有都不情况都不满足时,就执行此标签

类似ifelse-else

评论