[impr]Update some method from RETURN_GENERATED_KEYS replace to String[]{"id"},Avoid database compatibility issues (#9515)
This commit is contained in:
parent
3f1b96b15a
commit
ec7ba18792
@ -37,7 +37,6 @@ import javax.annotation.PostConstruct;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@ -122,14 +121,15 @@ public class GroupCapacityPersistService {
|
||||
// Note: add "tenant_id = ''" condition.
|
||||
sql = groupCapacityMapper.insertIntoSelectByWhere();
|
||||
}
|
||||
return insertGroupCapacity(sql, capacity);
|
||||
String[] primaryKeyGeneratedKeys = groupCapacityMapper.getPrimaryKeyGeneratedKeys();
|
||||
return insertGroupCapacity(sql, capacity, primaryKeyGeneratedKeys);
|
||||
}
|
||||
|
||||
private boolean insertGroupCapacity(final String sql, final GroupCapacity capacity) {
|
||||
private boolean insertGroupCapacity(final String sql, final GroupCapacity capacity, String[] primaryKeyGeneratedKeys) {
|
||||
try {
|
||||
GeneratedKeyHolder generatedKeyHolder = new GeneratedKeyHolder();
|
||||
PreparedStatementCreator preparedStatementCreator = connection -> {
|
||||
PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
|
||||
PreparedStatement ps = connection.prepareStatement(sql, primaryKeyGeneratedKeys);
|
||||
String group = capacity.getGroup();
|
||||
ps.setString(1, group);
|
||||
ps.setInt(2, capacity.getQuota());
|
||||
|
@ -35,7 +35,6 @@ import javax.annotation.PostConstruct;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -110,10 +109,11 @@ public class TenantCapacityPersistService {
|
||||
TenantCapacityMapper tenantCapacityMapper = mapperManager.findMapper(dataSourceService.getDataSourceType(),
|
||||
TableConstant.TENANT_CAPACITY);
|
||||
final String sql = tenantCapacityMapper.insertTenantCapacity();
|
||||
String[] primaryKeyGeneratedKeys = tenantCapacityMapper.getPrimaryKeyGeneratedKeys();
|
||||
try {
|
||||
GeneratedKeyHolder generatedKeyHolder = new GeneratedKeyHolder();
|
||||
PreparedStatementCreator preparedStatementCreator = connection -> {
|
||||
PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
|
||||
PreparedStatement ps = connection.prepareStatement(sql, primaryKeyGeneratedKeys);
|
||||
String tenant = tenantCapacity.getTenant();
|
||||
ps.setString(1, tenant);
|
||||
ps.setInt(2, tenantCapacity.getQuota());
|
||||
|
@ -76,7 +76,6 @@ import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -1675,12 +1674,12 @@ public class ExternalStoragePersistServiceImpl implements PersistService {
|
||||
Arrays.asList("data_id", "group_id", "tenant_id", "app_name", "content", "md5", "src_ip", "src_user",
|
||||
"gmt_create", "gmt_modified", "c_desc", "c_use", "effect", "type", "c_schema",
|
||||
"encrypted_data_key"));
|
||||
|
||||
String[] returnGeneratedKeys = configInfoMapper.getPrimaryKeyGeneratedKeys();
|
||||
try {
|
||||
jt.update(new PreparedStatementCreator() {
|
||||
@Override
|
||||
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
|
||||
PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
|
||||
PreparedStatement ps = connection.prepareStatement(sql, returnGeneratedKeys);
|
||||
ps.setString(1, configInfo.getDataId());
|
||||
ps.setString(2, configInfo.getGroup());
|
||||
ps.setString(3, tenantTmp);
|
||||
|
@ -152,4 +152,9 @@ public abstract class AbstractMapper implements Mapper {
|
||||
}
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getPrimaryKeyGeneratedKeys() {
|
||||
return new String[]{"id"};
|
||||
}
|
||||
}
|
||||
|
@ -75,4 +75,12 @@ public interface Mapper {
|
||||
* @return The name of datasource.
|
||||
*/
|
||||
String getDataSource();
|
||||
|
||||
/**
|
||||
* Get config_info table primary keys name.
|
||||
* The old default value: Statement.RETURN_GENERATED_KEYS
|
||||
* The new default value: new String[]{"id"}
|
||||
* @return an array of column names indicating the columns
|
||||
*/
|
||||
String[] getPrimaryKeyGeneratedKeys();
|
||||
}
|
Loading…
Reference in New Issue
Block a user