数据库函数
mybatis-mp 已为你适配了各种数据库,这意味着你可以不用关系具体的数据库
数据库函数使用方法
java
Integer id = QueryChain.of(sysUserMapper)
//方法 1
.select(SysUser::getId, c -> c.sin().as("x_sin"))
.from(SysUser.class)
.eq(SysUser::getId, 2)
//方法 2
.and(queryChain -> {
return queryChain.$(SysUser::getCreate_time, c -> c.date().eq("2023-12-10"));
})
//方法 3
.and(queryChain -> {
return Methods.date(queryChain.$(SysUser::getCreate_time)).eq("2023-12-10");
})
.empty(SysUser::getUserName)
//方法 1
.orderBy(SysUser::getId, c -> c.plus(1))
.returnType(Integer.TYPE)
.get();
数据库函数说明
支持的函数 | 函数说明 |
---|---|
count | 查询数据总量 |
sum | 返回指定字段值的和 |
avg | 返回指定列的平均值 |
min | 返回指定列的最小值 |
max | 返回指定列的最大值 |
abs | 返回绝对值 |
ceil | 返回大于或等于 x 的最小整数(向上取整) |
floor | 返回小于或等于 x 的最大整数(向下取整) |
rand | 返回 0~1 的随机数 |
sign | 返回 x 的符号,x 是负数、0、正数分别返回 -1、0、1 |
pi | 返回圆周率 |
truncate | 返回数值 x 保留到小数点后 y 位的值 |
round | 返回离 x 最近的整数(四舍五入) |
pow | 返回 x 的 y 次方 |
power | 返回 x 的 y 次方 |
sqrt | 返回 x 的平方根 |
exp | 返回 e 的 x 次方 |
mod | 取模 |
log | 返回自然对数 |
radians | 将角度转换为弧度 |
degrees | 将弧度转换为角度 |
sin | 求正弦值 |
asin | 求反正弦值 |
cos | 求余弦值 |
acos | 求反余弦值 |
tan | 求正切值 |
atan | 求反正切值 |
cot | 求余切值 |
charLength | 返回字符串 s 的字符数 |
length | 返回字符串 s 的长度 |
concat | 字符串拼接 |
concatWs | 字符串拼接,需要指定分割符 |
upper | 转大写 |
lower | 转小写 |
left | 左截取 |
right | 截取 |
lpad | 从左字符串 补全,需要补全的字符和长度 |
rpad | 从右字符串 补全,需要补全的字符和长度 |
trim | 去除两边的空格 |
ltrim | 去除左边的空格 |
rtrim | 去除右边的空格 |
repeat | 将字符串 s 重复 n 次 |
replace | 用字符串 s2 代替字符串 s 中的字符串 s1 |
strcmp | 比较字符串 s1 和 s2 |
substring | 获取从字符串 s 中的第 n 个位置开始长度为 len 的字符串 |
instr | 从字符串 s 中获取 s1 的开始位置 |
reverse | 将字符串 s 的顺序反过来 |
field | 返回第一个与字符串 s 匹配的字符串的位置 |
currentDate | 返回当前日期 |
currentTime | 返回当前时间 |
currentDateTime | 返回当前日期和时间 |
unixTimestamp | 以 UNIX 时间戳的形式返回当前时间 |
fromUnixTime | 把 UNIX 时间戳的时间转换为普通格式的时间 |
month | 日期 d 中的月份值,范围是 1~12 |
weekday | 日期星期几,0 表示星期一,1 表示星期二 |
year | 返回年 |
day | 返回日期的天数值 |
hour | 返回时间 t 中的小时值 |
dateDiff | 计算日期 d1 到 d2 之间相隔的天数 |
dateAdd | 日期加操作 |
dateSub | 日期减操作 |
inetAton | 将 IP 地址转换为数字表示,IP 值需要加上引号 |
inetNtoa | 将数字 n 转换成 IP 的形式 |
sort | 返回传入值的循序值,从1开始,如果不在传入的值里,则返回自己的值 |
mysql函数 - 额外特性函数
使用方式,比通用的函数 前面多个mysql()
select(SysUser::getUserName, c -> c.mysql().jsonExtract("$.obj.title")
支持的函数 | 函数说明 |
---|---|
findInSet | 返回在字符串 s2 中与 s1 匹配的字符串的位置 |
md5 | 字符串md5 加密 |
filed | 指定列值的顺序 |
fromUnixTime | 将秒转出时间 |
jsonContains | json是否包含值 |
jsonContainsPath | json path是否存在 |
jsonExtract | json提取指定path的值 |