# mybatis-parser **Repository Path**: yaoyanchen/mybatis-parser ## Basic Information - **Project Name**: mybatis-parser - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-06 - **Last Updated**: 2023-12-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 概述 - mybatis-parser是一个动态sql引擎,类似mybatis的功能,解析带标签的动态sql,生成`?`占位符的sql和`?`对应的参数列表。 - 借鉴了mybatis源码,相当于mybatis中的动态sql解析功能的抽取。 - 支持 `` `` `` `` `` - 核心api ``` SqlMeta sqlMeta = MybatisParser.parse(sql, map); ``` - 示例 ``` @Test public void testForeach() { String sql = "select * from sys_user " + " and user_id in" + "#{item}" + " " + "and user_name in #{item}" + ""; Map param = new HashMap<>(); param.put("list", new Integer[]{1, 2, 3, 4}); param.put("list2", new String[]{"a", "b", "c", "d"}); SqlMeta parse = MybatisParser.parse(sql, param); log.info("SQL:{}, Params: {}", parse.getSql(), parse.getJdbcParamValues()); } ``` - 示例执行结果: ``` SQL: select * from sys_user WHERE user_id in (?,?,?,?) and user_name in (?,?,?,?) Params: [1, 2, 3, 4, a, b, c, d] ```