函数名说明例子
eq等于eq(“name”,“张三”) ------> name = ‘张三’
ne不等于ne(“name”,“张三”) ------> name <> ‘张三’
gt大于gt(“age”,18) ------> age > 18
ge大于等于ge(“age”,18) ------> age >= 18
lt小于lt(“age”,18) ------> age < 18
le小于等于le(“age”,18) ------> age <= 18
betweenBETWEEN 值1 AND 值2between(“age”,18,20) ------> age between 18 and 20
notBetweenNOT BETWEEN 值1 AND 值2notBetween(“age”,18,20) ------> age not between 18 and 20
likeLIKE ‘%值%’like(“name”,“张三”) ------> name like ‘%张三%’
notLikeNOT LIKE ‘%值%’notLike(“name”,“张三”) ------> name not like ‘%张三%’
likeLeftLIKE ‘%值’likeLeft(“name”,“张三”) ------> name like ‘%张三’
likeRightLIKE ‘值%’likeRight(“name”,“张三”) ------> name like ‘张三%’
isNull字段 IS NULLisNull(“name”) ------> name is null
isNotNull字段 IS NOT NULLisNotNull(“name”) ------> name is not null
in字段 IN (v0,v1,…)in(“age”,{18,20,30}) ------> age in (18,20,30)
notIn字段 NOT IN (v0,v1,…)notIn(“age”,18,20,30) ------> age not in (18,20,30)
inSql字段 IN (sql语句)inSql(“id”,“select id from table where id < 3”) ------> id in (select id from table where id < 3)
notInSql字段 NOT IN (sql语句)notInSql(“id”,“select id from table where id < 3”) ------> id not in (select id from table where id < 3)
groupBy分组: GROUP BY 字段,…groupBy(“id”,“name”) ------> group by id,name
orderByAsc排序:ORDERBY 字段,… ASCorderByAsc(“id”,“name”) ------> order by id ASC,name ASC
orderByDesc排序:ORDERBY 字段,… DESCorderByDesc(“id”,“name”) ------> order by id DESC,name DESC
orderBy排序:ORDERBY 字段,…orderBy(“id”,“name”) ------> order by id DESC,name DESC
havingHAVING (slq语句)having(“sum(age) > {0}”,11) ------>having sum(age) > 11
or拼接 OR注意事项: 主动调用or表示紧接着下一个方法不是用and连接!(不调用or则默认为使用and连接) eq(“id”,1).or().eq(“name”,“张三”) ------> id = 1 or name = ‘张三’
andAND 嵌套and(i -> i.eq(“name”,“张三”).ne(“age”,20) ------> and (name = ‘张三’ and age <> 20)
apply拼接sql注意事项:该方法可用于数据库函数 动态入参的params对应前面sqlHaving内部的{index}部分,这样是不会有sql注入风险的,反之会有!apply(“date_format(dateColumn,‘%Y-%m-%d’) = {0}”,“2022-02-08”) ------> date_format(dateColum, ‘%Y-%m-%d’) = ‘2022-02-08’
last无视优化规则直接拼接到sql的最后注意事项:只能调用一次,多次调用以最后一次为准,有sql注入的风险,请谨慎使用 last(“limt 2”)
exists拼接EXISTS (sql语句)exists(“select id from table where age = 20”) ------> exists (select id from table where age = 20)
notExists拼接NOT EXISTS (sql语句)notExists(“select id from table where age = 20”) ------> not exists (select id from table where age = 20)
nested正常嵌套 不带AND 或者 ORnested(i -> i.eq(“name”,“张三”).ne(“age”,20)) ------> nested(name = ‘张三’ and age <> 20)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐