Mybatis - 存在即更新、存在即不更新

来源:互联网 发布:painter 2018 mac 编辑:程序博客网 时间:2024/04/29 11:53
  1. Mysql表中列设置unique属性
  2. xml中的写法:

例子1:存在即更新为新数据(除了UserId 自增加1)

<insert id="addItem" useGeneratedKeys="true" keyProperty="id" parameterType="ExpressInfo" >    insert into yjj_ExpressInfo(UserId, OrderId, OrderItemGroupId, ExpressSupplier, ExpressOrderNo, ExpressUpdateTime, CreateTime, UpdateTime, OrderNo)    values(#{userId}, #{orderId}, #{orderItemGroupId}, #{expressSupplier}, #{expressOrderNo}, #{expressUpdateTime}, #{createTime}, #{updateTime}, #{orderNo})    ON DUPLICATE KEY UPDATE UserId = UserId + 1, Status = 0, OrderItemGroupId = VALUES(OrderItemGroupId), ExpressOrderNo = VALUES(ExpressOrderNo), ExpressSupplier = VALUES(ExpressSupplier), UpdateTime=UNIX_TIMESTAMP(now())*1000</insert>

例子二:存在即不更新

    <insert id="addVisitHistory" parameterType="map">        insert ignore into yjj_UserVisitHistory (UserId, RelatedId, CreateTime)        values            <foreach collection="ids" item="id" open="(" close=")" separator="), (">                #{userId}, #{id}, #{time}            </foreach>    </insert>
0 0
原创粉丝点击