配置页面
高级接口只有一个SQL脚本,SQL脚本接口的配置页面的服务配置模块与基础接口不同,是一个SQL编辑器和参数列表。
服务配置
SQL编辑器
插入参数:插入用户自定义参数,在右侧参数列表。
插入where标签:主要用来简化 SQL 语句中的条件判断,可以自动处理 AND/OR 条件。
<where> <if test="判断条件"> AND/OR ... </if> </where>
- if 语句中判断条件为 true 时,where 关键字才会加入到组装的 SQL 里面,否则就不加入。
- where 会检索语句,它会将 where 后的第一个 SQL 条件语句的 AND 或者 OR 关键词去掉。
插入if标签:单个条件判断,用以实现条件筛选。
<if test="判断条件"> SQL语句 </if>
插入foreach标签:用于更新或保存数据时的批量操作。
有六个属性:item,index,collection,open, close,separator。
trim 一般用于去除 SQL 语句中多余的 AND 关键字、逗号,或者给 SQL 语句前拼接 where、set 等后缀,可用于选择性插入、更新、删除或者条件查询等操作。trim 语法格式如下。<foreach collection="idList" open="(" separator="," close=")" item="item"> #{item} </foreach>
属性 | 作用 |
---|---|
item | 表示集合中每一个元素进行迭代时的别名 |
index | 指定一个名字,表示在迭代过程中每次迭代到的位置 |
collection | 表示该语句以什么开始(既然是 in 条件语句,所以必然以’(‘开始) |
open | 表示该语句以什么结束(既然是 in 条件语句,所以必然以’)’结束。 |
close | 表示在每次进行迭代之间以什么符号作为分隔符(既然是 in 条件语句,所以必然以‘,’作为分隔符)。 |
separator | 该属性是必选的,但在不同情况下该属性的值是不一样的,主要有以下 3 种情况:如果传入的是单参数且参数类型是一个 List,collection 属性值为 list。 如果传入的是单参数且参数类型是一个array 数组,collection 的属性值为 array。如果传入的参数是多个,需要把它们封装成一个 Map,当然单参数也可以封装成 Map。Map 的 key 是参数名,collection 属性值是传入的 List 或 array 对象在自己封装的 Map 中的 key。 |
参数列表
参数使用方法:#{}
注入参数:作用和mybatis一致,都是将 #{} 区域替换为占位符 ?${}
拼接参数:作用和mybatis一致,都是将 ${} 区域替换为对应的字符串
使用示例
无参数的联合查询
现有三张表sl_students、sl_score和sl_subject表,分别存放学生信息、学生成绩和科目,要求查询每个学生的各科目的成绩,并按照成绩倒序显示。
选择数据服务,点击创建接口,点击【SQL脚本】,填写接口名称、编码和sql语句,选择测试环境,保存。
编辑接口,进入【测试】页面,点击【测试】。
在返回数据示例中查看查询数据
带参数的动态查询
现有一张mysql的sl_sjlx表,要求实现动态查询zfc=${zfc}的数据行。
选择数据服务,点击创建接口,点击【SQL脚本】,填写接口名称、编码
填写sql语句,在参数列表中添加一个字符串参数zfc,在sql中需要插入参数的位置点击【插入参数】,选择【字符串】即可。编辑接口,进入【测试】页面,在动态参数中填写值,点击【测试】。
在返回数据示例中查看查询数据
动态标签
现有一张sl_students表,存放着学生信息,要求筛选出1班的所有学生信息。
选择数据服务,点击创建接口,点击【SQL脚本】,填写接口名称、编码和sql语句,选择测试环境,保存。
插入where和if的动态标签,当if标签中的条件scid != null成立时,scid = #{scid}才会加入到where子句中,转换成sql语句就是:select * from sl_students where scid = ?编辑接口,进入【测试】页面,在动态参数中填写值,点击【测试】。
在返回数据示例中查看查询数据