原!!mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集
2016-08-13 22:36
881 查看
需求:
1.直接执行前端传来的任何sql语句,parameterType="String",
2.对于任何sql语句,其返回值类型无法用resultMap在xml文件里配置或者返回具体的bean类型,因此设置resultType="java.util.Map",但是Map并不保证存入取出顺序一致,
因此设置resultType="java.util.LinkedHashMap",为保证查询的字段值有序(存入与取出顺序一致)所以采用LinkedHashMap。
3.当返回值为LinkedHashMap时,表中存储的null值并不会存入Map中,因此还要在mybatis配置文件中增加如下配置:
<settings>
<setting name="callSettersOnNulls" value="true"/>
</settings>
mapper的接口方法:List<LinkedHashMap<String, Object>> superManagerSelect(String sql);
相匹配的xml文件:
<select id="superManagerSelect" parameterType="String" resultType="java.util.LinkedHashMap">
${sql}
</select>
这样配置时,会出现:there no getter sql in java.lang.String 的异常,因此sql改成value,便不会报错。
<select id="superSelect" parameterType="String" resultType="java.util.LinkedHashMap">
${value}
</select>
1.直接执行前端传来的任何sql语句,parameterType="String",
2.对于任何sql语句,其返回值类型无法用resultMap在xml文件里配置或者返回具体的bean类型,因此设置resultType="java.util.Map",但是Map并不保证存入取出顺序一致,
因此设置resultType="java.util.LinkedHashMap",为保证查询的字段值有序(存入与取出顺序一致)所以采用LinkedHashMap。
3.当返回值为LinkedHashMap时,表中存储的null值并不会存入Map中,因此还要在mybatis配置文件中增加如下配置:
<settings>
<setting name="callSettersOnNulls" value="true"/>
</settings>
mapper的接口方法:List<LinkedHashMap<String, Object>> superManagerSelect(String sql);
相匹配的xml文件:
<select id="superManagerSelect" parameterType="String" resultType="java.util.LinkedHashMap">
${sql}
</select>
这样配置时,会出现:there no getter sql in java.lang.String 的异常,因此sql改成value,便不会报错。
<select id="superSelect" parameterType="String" resultType="java.util.LinkedHashMap">
${value}
</select>
相关文章推荐
- mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集
- 传值设置mybatis查询的 列名(字段名),以及如何查看mybatis中执行的SQL语句
- mybatis 执行传入的任意sql语句
- 如何让SQL语句不执行默认排序,而是按照in语句的顺序返回结果
- 传值设置mybatis查询的 列名(字段名),以及如何查看mybatis中执行的SQL语句
- 让sql语句结果集不排序,按照in语句的顺序返回结果
- 如何使用SQLPLUS分析SQL语句(查询执行计划跟踪)
- MyBatis直接执行SQL查询及批量插入数据
- 如何用C#程序直接执行.sql文件里的SQL语句
- Select 语句执行顺序以及如何提高Oracle 基本查询效率
- sql查询语句执行顺序
- T-SQL 查询语句的执行顺序解析
- LINQ to SQL:如何直接执行SQL语句
- 如何使用SQLPLUS分析SQL语句(查询执行计划跟踪)
- 模糊查询/空值处理/数据排序oreder by/数据分组group by/SQL语句执行顺序
- ORACLE-Select语句执行顺序及如何提高Oracle 基本查询效率
- 如何在存储执行中,查询某条sql语句的执行计划。
- 【T-SQL】查询语句的执行顺序
- T-SQL 查询语句的执行顺序解析
- LINQ to SQL:如何直接执行SQL语句