Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jdbctemplate插入/更新/删除mysql_Java_Mysql_Spring_Jdbc_Jdbctemplate - Fatal编程技术网

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

Java 使用jdbctemplate插入/更新/删除mysql,java,mysql,spring,jdbc,jdbctemplate,Java,Mysql,Spring,Jdbc,Jdbctemplate,我有一个需要插入/更新到mysql表的项目/对象列表。列表中的每个项目都是表中的行。 如果表中不存在该项,我想插入。 我想更新表中是否存在该项。 如果表中的行不在我的列表中,我想删除该行 所以我可以先删除表中所有相关的行,然后插入列表中的所有项目。 或 首先选择所有相关项,在java代码中找出需要插入/更新/删除的内容,并执行相应的查询。 实现这一目标的最佳方式是什么。我使用SpringJDBCTemplate来实现这一点。谢谢 1)从数据库加载所有记录ID的列表(DB id list) 2)

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

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

1)从数据库加载所有记录ID的列表(
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,姓氏)值(?,)

,我在问题中已经提到过。如果表中有但列表中没有,那么我需要删除该项目。当您从列表中删除某些项目时,应该将其从表中删除。