动态insert mybatis与ibatis

mybatis:

<insert id="insert" parameterType="hashMap">
    INSERT INTO item
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      ...
      </if>
      <if test="created != null">
        created,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      ...
      <if test="created != null">
        #{created,jdbcType=TIMESTAMP},
      </if>
    </trim>
  </insert>

ibatis:

<insert id="insert" parameterClass="hashMap">
        INSERT INTO item
        <dynamic prepend="(" close=")">
            <isNotNull prepend="," property="obj.id">
                id
            </isNotNull>
            ...
            ,created
        </dynamic>
        VALUES
        <dynamic prepend="(" close=")">
            <isNotNull prepend="," property="obj.id">
                #obj.id#
            </isNotNull>
             ...
            ,now()
        </dynamic>
        <selectKey resultClass="long" keyProperty="id">
            SELECT LAST_INSERT_ID() AS ID
        </selectKey>
 </insert>
原文地址:https://www.cnblogs.com/kingsonfu/p/9273347.html