mybatis 调用 本工具包
在 mybatis 中直接使用 jdbc driver : cn.sybn.util.io.driver.SybnDaoDriver
即可使用本工具包访问: redis, mongo, es, solr, xls, csv, json 等 no-sql 数据.
默认单个 driver 只支持查询一个数据源, 当前版本 driver (0.3.16)暂不支持使用专有语法做跨数据源联合查询. 后续范本会增加此能力.
本工具包 执行 Mapper.xml V0.3.15
import cn.sybn.util.io.db.sql.SqlLoadUtil;
import cn.sybn.util.io.driver.mybatis.MybatisUtil;
import cn.sybn.bean.jdbc.SqlParams;
import cn.sybn.util.base.LogUtil;
// 1. 加载Mapper.xml 中的 select 元素中的 sql
// 返回 dynamicSql = select * from table where 1=1 <if test="x != null">and x=#{x}</if>
String dynamicSql = SqlLoadUtil.getSql("Mapper.xml", "selectUser");
// 2. 执行 sql 中的动态标签, 获取最终sql
Map<String, Object> param = new HashMap();
param.put("x", 1);
SqlParams sp = MybatisUtil.converSql(dynamicSql, param);
LogUtil.info(sp.getSql()); // 返回字符串: select * from table where 1=1 and x=?
LogUtil.info(sp.getParams()); // 返回数组: [1]
// 3. 执行 sql 查询数据
mongoDao.sqlFindListMap(sp.getSql(), sp.getParams());