sqle
sqle copied to clipboard
完善mybatis解析器,以支持更多的语句解析
Describe
2.9999.x
无法被mybatis xml解析器解析的标签
- [x] dynamicSelect
- [x] dynamicUpdate
- [x] dynamicDelete
- [x] sqls
动态标签中的子标签
- [x] str
- [x] and
- [ ] or (搁置)
- [x] dynamicSql
无法被解析的变量声明方式
- [x] ${variable}
思路
因为 ibatis 和 mybatis 的解析逻辑是类似的,所以主要的思路是复用 mybatis 的解析逻辑.
针对dynamicSelect dynamicUpdate dynamicDelete的解析,因为 dynamicSelect dynamicUpdate dynamicDelete 这三个标签等同于 select update delete 标签,所以可以直接复用这三个标签的解析逻辑.
动态标签中的子标签的 str 因为mybatis没有这个标签,需要新增解析逻辑.
and,or 标签的解析复用 mybatis 的解析逻辑
${variable} 在兼容 $variable$ 的基础上支持此类解析
遗留项
只有一个变量的 str 标签,目前的处理策略是直接略过不处理,因为目前不清楚xml的具体的执行逻辑