有时候,为了代码灵活,便于修改,要直接向IBatis传入完整的SQL语句。ibatis map 文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="bbs_define">
<!– selectBySql –>
<select id="selectBySql" resultClass="java.util.HashMap"
remapResults="true"
parameterClass="java.util.HashMap">
<isNotEmpty property="sql">$sql$</isNotEmpty>
</select>
<!– updateBySql –>
<update id="updateBySql" parameterClass="java.util.HashMap">
<isNotEmpty property="sql">$sql$</isNotEmpty>
</update>
</sqlMap>
其中最重要的设置是“remapResults="true"”。remapResults设置成true,表示结果字段可以是不定的。也就是说,这次可返回“ID,NAME”两个字段,下次何返回“ID,NAME,TYPE_ID”三个字段,也可以返回“*”