-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BEP 54: 注解内的 SQL 片段 支持 条件模板 #54
Labels
Comments
方式5,相对简单且有明确的开始结束符,易理解 |
可以参考mybatis里的各种动态标签,方便理解和替换 |
@duanguangchen 这个也是从 mybatis 的 |
Closed
请问这个功能有没有release出来?我有一点小想法。从JDK 15开始,支持文本块,方便在java代码里写复杂文本。类似下面这样。
这样写感觉贴近mybatis的写法,感觉贴近通常的开发。条件表达式在xml部分,不跟SQL片段混在一起。条件表达式可以用OGNL,或者用SpEL。xml部分目前有if标记,如果以后有需要,可以拓展其他标记。 |
为了降低学习成本,靠近其它框架的写法,并使得写法尽量简洁,最终采纳以下的标签方式: <if [expression]> content </if> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
目的(BeanSearcher Enhancement Proposal)
弥补 拼接参数 的不足:
参考:https://bs.zhxu.cn/guide/latest/params.html#%E6%8B%BC%E6%8E%A5%E5%8F%82%E6%95%B0
特性(用法)
当逻辑表达式
expression
为真值
时才 连接yyy
表表达式
expression
组成 与真值
判断:name
,参与逻辑计算)select
列表 或where
条件中存在)==
!=
<
>
<=
>=
|
且&
非!
例如:
:useYyy
- 当检索参数中有useYyy
且值非空 非null 非 0
时 为真:type == 1
- 当检索参数中有type
且值 等于1
或"1"
时为真:foo == 'bar'
- 当检索参数中有foo
且值 等于bar
时为真:foo > :bar
- 当检索参数中有foo
与bar
且值foo
大于bar
时为真yId
- 当select
列表 或where
条件中有yId
为真yId | yName
- 当select
列表 或where
条件中有yId
或yName
时 为真:useYyy & (yId | yName)
- 当检索参数中有useYyy
且值非空 非null 非 0
且 当select
列表 或where
条件中有yId
或yName
时为真欢迎讨论
大家觉得 哪种 方式 更简单 更可读一点呢(或者你是否有更好的语法),说说你的理由吧 ^_^
The text was updated successfully, but these errors were encountered: