29 Star 295 Fork 72

阿库玛/dbvisitor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
about.md 2.24 KB
一键复制 编辑 原始数据 按行查看 历史
阿库玛 提交于 2个月前 . 1. 重新编写整个文档。
idsidebar_positionhide_table_of_contentstitledescription
about1true规则在 SQL 语句中可以通过使用 @{...} 写法调用规则,基于规则可以有效的大幅减少动态 SQL 拼接时的工作量和复杂度。

在 SQL 语句中可以通过使用 @{...} 写法调用规则,基于规则可以有效的大幅减少动态 SQL 拼接时的工作量和复杂度。

@{<规则名> [, <启用条件OGNL> [, 规则内容 ]])

:::info 请注意规则不支持嵌套使用。 :::

使用指引

dbVisitor 内置了很多有用的规则,这些规则根据功能效果分为如下几个类别:

  • 参数处理规则,此类规则主要特点为定义或者处理数据。比如:计算MD5、生成 UUID、加密/解密等。
  • 结果处理规则,此类规则可以对结果集中的数据做处理。比如:加密/解密、替换、遮掩等。
  • SQL 增强规则,该类规则特点是可以完成部分不太复杂的的动态 SQL。比如:入参不为空时才会正式成为 SQL 参数。
  • SQL 注入规则,该类规则会改变发往数据库的最终 SQL 语句。比如:排序方式的参数化或者分库分表中表名称的计算。
  • 辅助规则,该类规则不会查询和结果产生任何直接效果,只有当在某些特定场景中才会起作用。比如:存储过程相关的辅助规则。

基本用法

有些规则支持通过名称来调用,例如:

update users set str_id = @{uuid32} where id = :id

一个规则当只有在满足某个条件才可以被使用时,那么可以如下写法:

select * from users where status = 1 @{ifand, queryType == 'NAME', name = :name}

对于一个规则希望忽略启用条件直接调用,那么使用如下方式:

select * from users where status = 1 @{ifand, , name = :name}
select * from users where status = 1 @{ifand, true, name = :name}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/zycgit/dbvisitor.git
git@gitee.com:zycgit/dbvisitor.git
zycgit
dbvisitor
dbvisitor
main

搜索帮助