mysql使用jdbctemplate插入/更新/删除

时间:2016-03-17 14:23:47

标签: java mysql spring jdbc jdbctemplate

我有一个项目/对象列表,我需要插入/更新到mysql表。列表中的每个项目都是表格中的行。 如果表中不存在该项,我想插入。 如果表中存在该项,我想更新。 如果它不在我的列表中,我想删除表中的行。

所以我可以先删除表中的所有相关行,然后在列表中插入所有项目。 要么 首先选择所有相关项,在java代码中找出需要插入/更新/删除的内容并执行相应的查询。 实现这一目标的最佳方法是什么?我正在使用Spring jdbctemplate来做这件事。谢谢!

2 个答案:

答案 0 :(得分:0)

1)加载来自DB(<xsl:template match="p[img/@src='note.jpg']"> <note> <p> <xsl:apply-templates select="node()[not(self::span[@class='mark'][not(preceding-sibling::span[@class='mark'])])]"/> </p> </note> </xsl:template>

的所有记录ID的列表

2)来自您DB IDs list中未显示的DB IDs list过滤器ID,从DB中删除包含此类ID的行(input list

3)delete from Table WHERE id IN :listinput list无法找到的DB IDs list过滤ID - 将input list中带有这些ID的元素插入到数据库

4)过滤器DB IDs可以在input list中找到(两个列表的交集ID ID值),更新DB中具有input list

答案 1 :(得分:-1)

我可以帮助您解决一些问题,这个例子没有自动增量。 id是唯一键

INSERT

INSERT INTO users (id, surname) VALUES (?,?)

更新

UPDATE users SET surname = ? WHERE id = ?

INSERT如果不存在:

INSERT INTO users (id, surname) VALUES (?,?) ON DUPLICATE KEY UPDATE id = id