MyBatisがMapを使用してデータを一括挿入する例

2776 ワード

直接コードをつけて、対象に向かう思想を利用して、理解しにくくないはずです.
    /**
     *               
     * 
     * @param languageToolResultBean
     */
    public void batchLgToolResultTOErrorBatch(List languageToolResultBean, String assignment_history_id) {
        Map mapParam = new HashMap();
        mapParam.put("assignment_history_id", assignment_history_id);
        mapParam.put("languageToolResultBean", languageToolResultBean);
        List> listMap = (List>) this.getSqlMapClientTemplate().queryForList("writingEssay.queryEssayClassIdByAssId", Integer.valueOf(assignment_history_id));
        if (listMap != null && listMap.size() > 0) {
            mapParam.put("essay_id", listMap.get(0).get("essay_id"));
            mapParam.put("classes_id", listMap.get(0).get("classes_id"));
        }
        this.getSqlMapClientTemplate().insert("writingEssay.batchLgToolResultTOErrorBatch", mapParam);
    }

SQLプロファイルの書き方:
    
    <insert id="batchLgToolResultTOErrorBatch" parameterClass="java.util.HashMap">
        
        <iterate property="languageToolResultBean" conjunction=",">
            
        iterate>
    insert>