Java 使用jdbctemplate插入/更新/删除mysql
我有一个需要插入/更新到mysql表的项目/对象列表。列表中的每个项目都是表中的行。 如果表中不存在该项,我想插入。 我想更新表中是否存在该项。 如果表中的行不在我的列表中,我想删除该行 所以我可以先删除表中所有相关的行,然后插入列表中的所有项目。 或 首先选择所有相关项,在java代码中找出需要插入/更新/删除的内容,并执行相应的查询。 实现这一目标的最佳方式是什么。我使用SpringJDBCTemplate来实现这一点。谢谢 1)从数据库加载所有记录ID的列表(Java 使用jdbctemplate插入/更新/删除mysql,java,mysql,spring,jdbc,jdbctemplate,Java,Mysql,Spring,Jdbc,Jdbctemplate,我有一个需要插入/更新到mysql表的项目/对象列表。列表中的每个项目都是表中的行。 如果表中不存在该项,我想插入。 我想更新表中是否存在该项。 如果表中的行不在我的列表中,我想删除该行 所以我可以先删除表中所有相关的行,然后插入列表中的所有项目。 或 首先选择所有相关项,在java代码中找出需要插入/更新/删除的内容,并执行相应的查询。 实现这一目标的最佳方式是什么。我使用SpringJDBCTemplate来实现这一点。谢谢 1)从数据库加载所有记录ID的列表(DB id list) 2)
DB id list
)
2) 从数据库id列表中
筛选未显示在输入列表中的id
,从数据库中删除具有此类id的行(从id所在的表中删除:列表
)
3) 从输入列表
中筛选ID,这些ID在数据库ID列表
中找不到-将具有这些ID的元素从输入列表
插入数据库
4) 过滤
DB ID
可在输入列表中找到(两个列表按ID值相交),使用输入列表中的值更新DB中具有此类ID的行,我可以帮助您进行一些查询,此示例没有自动递增。
id是唯一的密钥
插入
插入用户(id、姓氏)值(?,)
更新
更新用户集姓氏=?其中id=?
如果不存在,则插入:
在重复密钥更新id=id上插入用户(id,姓氏)值(?,)
,我在问题中已经提到过。如果表中有但列表中没有,那么我需要删除该项目。当您从列表中删除某些项目时,应该将其从表中删除。