sqle icon indicating copy to clipboard operation
sqle copied to clipboard

完善mybatis解析器,以支持更多的语句解析

Open taolx0 opened this issue 1 year ago • 0 comments

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的具体的执行逻辑 image

taolx0 avatar Jan 02 '24 10:01 taolx0