Mybatis 动态执行SQL语句
有很多的接口都只是执行个SQL查询之后就直接返回给前端,那么我们能不能把这些SQL保存在数据库中,调用一个固定的接口就能根据传参查询出想要的数据呢?或者当为了加减个字段就得修改代码重启服务的痛苦能不能减少点呢?下面就是方案。 调用直接传入SQL语句(可以选择存数据库)和参数,SQL语句写法和在 <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>7.0</version></dependency> import lombok.extern.slf4j.Slf4j;import org.apache.ibatis.builder.//from fhadmin.cn@Component@Slf4jpublic class SqlExecutor { @Autowired private SqlSessionFactory sqlSessionFactory; public void parserString(String originSql,Map<String,Object> param) { StringBuilder builder = new StringBuilder(); builder.append("<?"); builder.append("<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\r\n"); builder.append("<mapper namespace=\"cn.video.asm.TestMapper\">\r\n"); builder.append(" <select id=\"queryById\" resultType=\"java...