需求:
在連接數據庫的單元測試時,極可能為測試某個測試點需提前准備對應的測試數據,這時,就需要對數據庫表進行初始化。在執行完測試后,有時也需要查詢數據庫表來驗證是不是正常入庫。且為了保持測試的校驗完整性和現有的功能代碼分開,應有自已的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>