ibatis如何传入完整的sql语句?进一步说,String str ="select * from test_table",我想把str传入ibatis中执行,是传递整条sql语句。
解决办法:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="app"> <!-- deleteBySql --> <insert id="deleteBySqlForJunit" parameterClass="java.lang.String"> <![CDATA[ $sql$ ]]> </insert> <!-- insertBySql --> <insert id="insertBySqlForJunit" parameterClass="java.lang.String"> <![CDATA[ $sql$ ]]> </insert> <!-- updateBySql --> <update id="updateBySqlForJunit" parameterClass="java.lang.String"> <![CDATA[ $sql$ ]]> </update> </sqlMap>DAO层的JAVA代码:
@Override
public void deleteDataForJunit(String sql) throws PafaDAOException {
super._delete("deleteBySqlForJunit", sql);
}
@Override
public void insertDataForJunit(String sql) throws PafaDAOException {
super._insert("insertBySqlForJunit", sql);
}
@Override
public void updateDataForJunit(String sql) throws PafaDAOException {
super._update("updateBySqlForJunit", sql);
}
注意:<![CDATA[ $sql$ ]]>,这个是重点和亮点。