# orange **Repository Path**: Jing_jun_yang/orange ## Basic Information - **Project Name**: orange - **Description**: 动态sql解析引擎,类似mybatis动态sql的功能 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 60 - **Created**: 2022-06-11 - **Last Updated**: 2022-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 概述 - orange是一个动态sql引擎,类似mybatis的功能,解析带标签的动态sql,生成`?`占位符的sql和`?`对应的参数列表。 - 借鉴了mybatis源码,相当于mybatis中的动态sql解析功能的抽取。 - 支持 `` `` `` `` `` # 使用教程 - 在自己的maven项目中引入maven坐标 ```xml io.github.freakchick orange 1.0 ``` - 核心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 #{item.name}"); Map map = new HashMap<>(); ArrayList arrayList = new ArrayList<>(); arrayList.add(new User(10, "tom")); arrayList.add(new User(11, "jerry")); map.put("list", arrayList); SqlMeta sqlMeta = engine.parse(sql, map); System.out.println(sqlMeta.getSql()); sqlMeta.getJdbcParamValues().forEach(System.out::println); } ``` - 示例执行结果: ``` select * from user where name in ( ? , ? ) tom jerry ``` # 联系作者: ## wechat: - 提问前麻烦请先star支持一下
## 捐赠: 如果您喜欢此项目,请给作者加鸡腿