insert、delete、update、replace在mybatis中应用
<insert id="insert" parameterType="map" useGeneratedKeys="true"
keyProperty="rId">
INSERT INTO
tb (
tb.`name`,
tb.add_date
)
VALUES
(
#{name},
#{addDate}
)
</insert>
<delete id="delete" parameterType="java.lang.Integer">
DELETE
FROM
tb
WHERE
id = #{Id}
</delete>
<update id="update" parameterType="map">
UPDATE tb
SET
`name` = #{name}, last_date = #{lastDate}
WHERE
id = #{Id}
</update>
<insert id="replace" parameterType="map">
REPLACE INTO tb (rid, pid)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.rId},#{item.pId})
</foreach>
</insert>
本来想实现更新数据库,但是不是简单的更新,需要添加原来没有的,和更新已经存在的,这个表还没有主键,只能通过先删除,再添加实现(能力有限,可能有更好的方法)。
小结:
1. 如果只修改表中存在的数据,直接用update实现。
2. 如果表中有主键,可以直接用replace into 实现。
3. 同时需要修改和添加,我用的是先删除和添加(这个表只有两个字段)。
请教:如果大家有好的方法,请留言。