我有一个项目/对象列表,我需要插入/更新到mysql表。列表中的每个项目都是表格中的行。 如果表中不存在该项,我想插入。 如果表中存在该项,我想更新。 如果它不在我的列表中,我想删除表中的行。
所以我可以先删除表中的所有相关行,然后在列表中插入所有项目。 要么 首先选择所有相关项,在java代码中找出需要插入/更新/删除的内容并执行相应的查询。 实现这一目标的最佳方法是什么?我正在使用Spring jdbctemplate来做这件事。谢谢!
答案 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>
)
2)来自您DB IDs list
中未显示的DB IDs list
过滤器ID,从DB中删除包含此类ID的行(input list
)
3)delete from Table WHERE id IN :list
中input 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