本文汇总了一些高频问题,帮助您更顺畅的了解JDBC数据服务。
查询结果字段可以支持逻辑运算结果吗?
支持。
不同的数据服务类别会返回不同的查询结果参数:
- 单表查询:可以将查询结果参数的
表别名字段名
直接配置为需要的字段逻辑运算表达式,如(score1+score2)/2
。 - 多表查询:可以将查询结果参数的
表别名.字段名
直接配置为需要的字段逻辑运算表达式,如(t1.score1 + t2.score2)/2
。与单表查询的区别在于各字段都需要明确归属表的别名。
多表查询支持left join吗?
支持。按数据源类型支持的标准left join语法写SQL模板即可。
SQL模板里可以使用MyBatis的所有语法吗?
可以。SQL模板完全兼容MyBatis语法。
SQL模板包含XML转义字符该如何设置?
SQL模板完全按照MyBatis规范设置,当包含XML转义字符时,您可以直接使用转义字符或者使用CDATA设置SQL模板。
如果SQL模板为
FROM table1 WHERE field1 < #{field1}
,则有以下2种设置方式:
- 使用转义字符:
FROM table1 WHERE field1 < #{field1}
- 使用CDATA:
FROM table1 WHERE <![CDATA[ field1 < #{field1} ]]>
SQL模板如何判断某个入参是否存在?
SQL模板完全按照MyBatis规范设置,当需要判断某个入参是否存在时,您可使用<if></if>
标签实现。
示例代码段如下:
FROM csb_instance_node WHERE 1=1
<if test="name != null">
and instance_name like concat('%',#{name},'%')
</if>