小编Lof*_*Lof的帖子

MyBatis 3 - 从mapper获取SQL字符串

我想仅使用MyBatis3来生成SQL字符串(使用xml映射),但我获得的SQL无效.

例如,我获取了sql字符串:

SELECT * FROM USER WHERE NAME = john
Run Code Online (Sandbox Code Playgroud)

在这个sql中不存在' char sorrounding string value john

mybatis.xml中:

...
    <mappers>
        <mapper resource="sql1.xml"/>
    </mappers>
...
Run Code Online (Sandbox Code Playgroud)

sql1.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

   <mapper namespace="sql1">
       <select id="select1" parameterType="map" resultType="String" >
           SELECT * FROM USERS
           WHERE 
           name LIKE ${name} AND num = ${number}
       </select>
   </mapper>
Run Code Online (Sandbox Code Playgroud)

MyBatisSql.java中:

SqlSessionFactory sessionFactory = ConnectionFactory.getSqlSessionFactory();
Configuration configuration = sessionFactory.getConfiguration();

Map pars = new HashMap<String, Object>();
pars.put("name", "john");    
pars.put("number", 1345); …
Run Code Online (Sandbox Code Playgroud)

java sql mybatis

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

mybatis ×1

sql ×1