1.在数据库表里面设置一个唯一索引(唯一索引必须是不会重复的字段)
2.使用 REPLACE INTO 语句
<insert id="listFireDeviceWaterInsert">
REPLACE INTO fire_control_water
(
DEVICE_NO,//这个字段是你在数据库表里面定义的唯一索引
ID,
DEVICE_NAME,
COMPANY_ID,
COMPANY_NAME
)
values
(
#{item.deviceNo},
#{item.id},
#{item.deviceName},
#{item.companyId},
#{item.companyName}
)
</insert>
使用这个语句进行插入的时候,他会自动去判断当前唯一索引是否存在数据库表中,如果存在,就会先删除当前数据,然后在插入,如果不存在就会直接插入
3.附赠一个批量插入语句的写法
<insert id="listInsert">
REPLACE INTO fire_control_water(
DEVICE_NO,
ID,
DEVICE_NAME,
COMPANY_ID,
COMPANY_NAME
)
values
<foreach collection="fireDeviceWaters" item = "item" separator=",">
(
#{item.deviceNo},
#{item.id},
#{item.deviceName},
#{item.companyId},
#{item.companyName}
)
</foreach>
</insert>