例如,如果我添加new Department(new BigInteger("50"), "ODD", "SPB"),所有工作都会将其值插入到数据库中。但如果我想再次插入例如new Department(new BigInteger("50"), "ODDMOD", "SPBMOD"),出现java.sql.SQLIntegrityConstraintViolationException: integrity constraint violation: unique constraint or index violation; SYS_PK_10092 table: DEPARTMENT。我知道不能插入具有相同主键的值,但是如果主键存在或其他解决方案如何更新值?
public Department save(Department department) throws SQLException {
Connection connection = ConnectionSource.instance().createConnection();
String sql = "insert into department values (?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setLong(1, Long.parseLong(String.valueOf(department.getId())));
statement.setString(2, department.getName());
statement.setString(3, department.getLocation());
statement.executeUpdate();
PreparedStatement st = connection.prepareStatement("select * from department where id = ? ");
st.setLong(1, Long.parseLong(String.valueOf(department.getId())));
ResultSet resultSet = st.executeQuery();
resultSet.next();
Department demper = …Run Code Online (Sandbox Code Playgroud)