list 를 my batis 에 전송 하여 추가, 수정 작업 을 진행 합 니 다.

7625 단어 mybatis
SQL 추가:
<insert id="insertCorresponding" parameterType="java.util.List">
	insert into tableName(
		id,a,b,c,
		create_time,update_time, is_delete
	)values
	<foreach collection="list" item="item" index="index" separator=",">
		(
			#{item.id},#{item.a},#{item.b}, #{item.c},
			#{item.createTime},#{item.updateTime}, #{item.isDelete}
		)
	</foreach>
</insert>

SQL 수정:
<!--           :allowMultiQueries=true       ,    -->
<update id="updateDCCorresponding" parameterType="java.util.List">
        <if test="list!=null">
            <foreach collection="list" item="item" index="index" open="" close="" separator=";">
                update tableName
                <trim suffix="set" suffixOverrides=",">
                    <if test="item.a!=null and item.a!=''">
                        a=#{item.a},
                    </if>
                    <if test="item.b!=null and item.b!=''">
                        b=#{item.b},
                    </if>
                    <if test="item.c!=null and item.c!=''">
                        c=#{item.c},
                    </if>
                    <if test="item.updateTime!=null and item.updateTime!=''">
                        update_time=#{item.updateTime},
                    </if>
                    <if test="item.isDelete!=null and item.isDelete!=''">
                        is_delete=#{item.isDelete},
                    </if>
                </trim>
                where
                    id=#{item.id,jdbcType=VARCHAR}
            </foreach>
        </if>
    </update>

jdbc Type 은 jdbc Type 원인 (네트워크) 을 추가 할 수 있 습 니 다. 필드 값 이 null 일 때 추가 해 야 합 니 다. 그렇지 않 으 면 오류 가 발생 했 습 니 다. my batis insert 의 빈 값 이 이상 하지만 pl / sql 에 서 는 오 류 를 알 리 지 않 습 니 다. 주요 원인 은 my batis 가 변환 할 수 없 기 때 문 입 니 다. 들 어 오 는 매개 변수의 필드 가 null 대상 이 대응 하 는 jdbc Type 형식 을 가 져 올 수 없 기 때 문 입 니 다.

좋은 웹페이지 즐겨찾기