MyBatis 3.1.1은 매번 교체 할 때 prepared statement params, 또는 $ {...}에 대해 # {...}을 허용합니다.MyBatis : "컴파일 타임"매퍼 매개 변수 대체, 준비된 stmt를 유지하지만 테이블 이름을 구성 가능하게 만드시겠습니까?
SQL 문을 매개 변수화하는 데 사용할 수있는 내용이 누락되었지만 여전히 준비된 문을 유지합니다. 즉 구성 중에 교체하십시오.
어떻게하면됩니까? 어쩌면 일부 SQL 조각을 사용하고 있습니까?
업데이트 :
내가 발견은 :
<sql id="userColumns"> id,username,password </sql>
<select id="selectUsers" parameterType="int" resultType="hashmap">
SELECT <include refid="userColumns"/> some_table WHERE id = #{id}
</select>
${...}
이 그 안에 사용할 수있는 경우 http://www.mybatis.org/core/sqlmap-xml.html#sql 이 그것을 것입니다 참조하십시오.
그래서 이것은 효과가 없었습니다.'$ {...} '는 SQL 조각이 사용될 때 단순히 그대로 유지되고 확장됩니다. –