概述
� orange 是一个动态 sql 引擎,类似 mybatis 的功能,解析带标签的动态
sql,生成?占位符的 sql 和?对应的参数列表。
� 借鉴了 mybatis 源码,相当于 mybatis 中的动态 sql 解析功能的抽取。
� 支持 if foreach where set trim
使用教程
� 先拉取源代码,安装到 maven 本地仓库:
mvn -DskipTests=true install
� 安装到 maven 本地仓库后,就可以在自己的 maven 项目中使用 orange
了
#pom 引入 maven 坐标
<dependency>
<groupId>com.github.freakchick</groupId>
<artifactId>orange</artifactId>
<version>1.0</version>
</dependency>
#核心 api
DynamicSqlEngine engine = new DynamicSqlEngine();
SqlMeta sqlMeta = engine.parse(sql, map);
#示例
@Test
public void testForeach() {
DynamicSqlEngine engine = new DynamicSqlEngine();
String sql = ("select * from user where name in <foreach collection='list'
open='(' separator=',' close=')'>#{item.name}</foreach>");
Map<String, Object> map = new HashMap<>();
ArrayList<User> arrayList = new ArrayList<>();
arrayList.add(new User(10, "tom"));