需求:
在連接數據庫的單元測試時,極可能為測試某個測試點需提前准備對應的測試數據,這時,就需要對數據庫表進行初始化。在執行完測試后,有時也需要查詢數據庫表來驗證是不是正常入庫。且為了保持測試的校驗完整性和現有的功能代碼分開,應有自已的sqlmap和dao。
1.直接執行前端傳來的任何sql語句,parameterType="String",
2.對於任何sql語句,其返回值類型無法用resultMap在xml文件里配置或者返回具體的bean類型,因此設置resultType="java.util.Map",但是Map並不保證存入取出順序一致,
因此設置resultType="java.util.LinkedHashMap",為保證查詢的字段值有序(存入與取出順序一致)所以采用LinkedHashMap。
mapper的接口方法:
import java.util.LinkedHashMap;
import java.util.List;
public interface JunitBaseDao {
List<LinkedHashMap<String, Object>> select(String sql);
int insert(String sql);
int update(String sql);
int delete(String sql);
相匹配的xml文件:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.webank.wfts.dao.JunitBaseDao" >
<select id="select" parameterType="java.lang.String" resultType="java.util.LinkedHashMap">
${value}
</select>
<insert id="insert" parameterType="java.lang.String">
${value}
</insert>
<update id="update" parameterType="java.lang.String">
${value}
</update>
<delete id="delete" parameterType="java.lang.String">
${value}
</delete>
</mapper>
