我想仅使用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)