public interface CustomizeMapper {
void dynamicInsert(@Param("tableName") String tableName, @Param("list") Collection<JSONObject> list);
int dynamicUpdate(@Param("cId") Long cId, @Param("tableName") String tableName, @Param("identField") String identField, @Param("identValue") Long identValue, @Param("update") LinkedHashMap<String, String> update);
void batchDynamicUpdate(@Param("cId") Long cId, @Param("tableName") String tableName, @Param("identField") String identField, @Param("updateList") List<JSONObject> updateList);
void batchDynamicUpdate2(@Param("cId") Long cId, @Param("tableName") String tableName, @Param("identField") String identField, @Param("ids") Collection<Long> ids, @Param("update") JSONObject update);
List<JSONObject> dynamicSelect(@Param("tableName") String tableName,@Param("cId") Long cId,@Param("select") LinkedHashMap<String, String> select);
}
<mapper namespace="com.fumasoft.bill.server.bigCustomer.mapper.CustomizeMapper">
<insert id="dynamicInsert">
<foreach collection="insert" index="index" item="item" separator=";">
insert into ${tableName} (<foreach collection="item.entrySet()" index="key" item="value" separator=",">
${key}</foreach>)
values (<foreach collection="item.entrySet()" index="key" item="value" separator=",">#{value}</foreach>)
</foreach>
</insert>
<update id="dynamicUpdate">
update ${tableName} set <foreach collection="update.entrySet()" index="key" item="value" separator=",">
${key}=#{value}
</foreach> where c_id = #{cId} and ${identField} = #{identValue}
</update>
<update id="batchDynamicUpdate">
<foreach collection="updateList" item="item" index="index" separator=";">
update ${tableName} set
<foreach collection="item.entrySet()" index="key" item="value" separator=",">
${key}=#{value}
</foreach>
where c_id = #{cId} and ${identField} = #{item.[${identField}]}
</foreach>
</update>
<update id="batchDynamicUpdate2">
update ${tableName} set <foreach collection="update.entrySet()" index="key" item="value" separator=",">
${key}=#{value}
</foreach> where c_id = #{cId} and ${identField} in
<foreach collection="ids" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<select id="dynamicSelect" resultType="com.alibaba.fastjson.JSONObject">
select * from ${tableName} where c_id = #{cId} and
<foreach collection="select.entrySet()" index="key" item="value" separator="and">
${key}=#{value}
</foreach>
</select>
</mapper>