Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

在select语句中把查询条件位于关键字where的后面,这些查询条件在Sql Addon中被抽象为Condition,包括:CompareCondition、BetweenCondition和SqlCondition。Addon中被抽象为Condition,包括:CompareCondition、BetweenCondition、SqlCondition、CollectionCondition。

CompareCondition

最基本的查询条件,用于对表的某一个字段的值进行约束。

...

属性名
说明
name名称
table来源FromTable的name属性值。
column来源FromTable的Column的name属性值。
minValue最小值。参考BaseCondition的value属性。
maxValue最大值。参考BaseCondition的value属性。
minOperator最小值对应的操作符。包括:>=,>。
maxOperator最大值对应的操作符。包括:<=,<。
onlyMinOperator只有最小值时的操作符。包括:>=,>,ignored。
onlyMaxOperator

只有最大值时的操作符。包括:<=,<,ignored。

sqlType数据类型。
escapeOperator

逃逸操作符。包括:ignored和isnull、falseCondition。

ignored表示忽略这个查询条件,即不出现在SQL中;isnull表示拼接一个比较操作符为isnull的查询条件。

falseCondition则表示,若没有提供查询条件,则不能查出任何数据。

...

Info

 

titlevalue属性

value(maxValue、minValue)属性值的三种含义:

  • 变量占位符:以冒号(":")开始的字符串,例如:“:id”表示查询参数的id属性值。
  • 常量值:以等号("=")开始的字符串,例如:“=100”并且sqlType为空,表示"100"的字符串;“=100”并且sqlType为”INTEGER-Integer“,表示100的整数。
  • SQL片段:不是以冒号或等号开始的字符串,例如:“b.id”并且jdbcType为空,表示SQL片段“b.id”。

SqlCondition

允许开发者编写SQL的查询条件。

属性名
说明
name名称
sql表示查询条件的SQL
Info
title与SqlDataType中SQL写法的差别

SqlCondition中的sql作为AutoSqlDataType的一部分,并不支持SqlDataType中的高级写法,例如velocity语句和%等,此处的sql被认为是简单的字符串被拼接到select语句中

CollectionCondition

联合查询条件,可以将多个查询条件连接在一起。

属性名
说明
name名称
operator连接操作符。包括:AND,OR。