提交 e3bccd56 authored 作者: zhangshuang's avatar zhangshuang

合并分支 'zs' 到 'master'

Zs 查看合并请求 ty_wyl/adaptation-master1!49
...@@ -22,8 +22,12 @@ public class SQLExecuteTask implements Runnable{ ...@@ -22,8 +22,12 @@ public class SQLExecuteTask implements Runnable{
public void run() { public void run() {
Connection connection = null; Connection connection = null;
PreparedStatement preparedStatement = null; PreparedStatement preparedStatement = null;
//String unRecordSql = "SET LOCAL fsync TO OFF;";
try { try {
connection = Regular.databaseConnection(dbManage); connection = Regular.databaseConnection(dbManage);
//不记录日志,加快insert速度
//preparedStatement = connection.prepareStatement(unRecordSql);
//preparedStatement.execute();
preparedStatement = connection.prepareStatement(sql); preparedStatement = connection.prepareStatement(sql);
preparedStatement.setQueryTimeout(10); preparedStatement.setQueryTimeout(10);
preparedStatement.execute(); preparedStatement.execute();
......
...@@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
@Service @Service
...@@ -92,6 +93,7 @@ public class DBManageServiceImpl implements DBManageService { ...@@ -92,6 +93,7 @@ public class DBManageServiceImpl implements DBManageService {
dbRecordDao.delete(dbDeleteResponse.getDbName(),0); dbRecordDao.delete(dbDeleteResponse.getDbName(),0);
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); e.printStackTrace();
return ServerResponse.error(e.getMessage());
} finally { } finally {
try { try {
preparedStatement.close(); preparedStatement.close();
......
...@@ -38,7 +38,7 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -38,7 +38,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
private DBRecordDao dbRecordDao; private DBRecordDao dbRecordDao;
//线程池数量,合适的线程数量能让程序更快 //线程池数量,合适的线程数量能让程序更快
private static final int poolSize = 4; private static final int poolSize = 5;
@Value("${highgo.driver}") @Value("${highgo.driver}")
private String highgoDriver; private String highgoDriver;
...@@ -120,6 +120,7 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -120,6 +120,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
BufferedReader bufferedReader = null; BufferedReader bufferedReader = null;
List<String> insertList = new ArrayList<>(); List<String> insertList = new ArrayList<>();
List<String> elseList = new ArrayList<>(); List<String> elseList = new ArrayList<>();
List<String> createTableList = new ArrayList<>();
PreparedStatement preparedStatement1 = null; PreparedStatement preparedStatement1 = null;
try { try {
fileReader = new FileReader(file); fileReader = new FileReader(file);
...@@ -145,11 +146,20 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -145,11 +146,20 @@ public class DBMigrateServiceImpl implements DBMigrateService {
String tableName = s.substring(s.indexOf("\"") + 1,s.lastIndexOf("\"")); String tableName = s.substring(s.indexOf("\"") + 1,s.lastIndexOf("\""));
WebSocketServer.sendIn(uuid, TimeUtil.getNowDate() + " 数据库适配:" + tableName + "表创建"); WebSocketServer.sendIn(uuid, TimeUtil.getNowDate() + " 数据库适配:" + tableName + "表创建");
} }
preparedStatement1 = connection1.prepareStatement(sql); createTableList.add(sql);
preparedStatement1.execute();
sql = ""; sql = "";
} }
} }
//创建表
String createTableSql = "";
if(createTableList != null && createTableList.size() != 0){
for(String create:createTableList){
createTableSql += create;
}
}
preparedStatement1 = connection1.prepareStatement(createTableSql);
preparedStatement1.execute();
//插入
if(insertList != null && insertList.size() != 0){ if(insertList != null && insertList.size() != 0){
for(String insert:insertList){ for(String insert:insertList){
int insertIndex = insert.indexOf("\"") + 1; int insertIndex = insert.indexOf("\"") + 1;
...@@ -176,13 +186,15 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -176,13 +186,15 @@ public class DBMigrateServiceImpl implements DBMigrateService {
e.printStackTrace(); e.printStackTrace();
} }
//关闭后执行新建索引和外键的sql语句 //关闭后执行新建索引和外键的sql语句
String elseSql = "";
if(elseList != null && elseList.size() != 0){ if(elseList != null && elseList.size() != 0){
for(String elseChar:elseList){ for(String elseChar:elseList){
WebSocketServer.sendIn(uuid,TimeUtil.getNowDate() + " 数据库适配:" + "创建索引或外键"); WebSocketServer.sendIn(uuid,TimeUtil.getNowDate() + " 数据库适配:" + "创建索引或外键");
preparedStatement1 = connection1.prepareStatement(elseChar); elseSql += elseChar;
preparedStatement1.execute();
} }
} }
preparedStatement1 = connection1.prepareStatement(elseSql);
preparedStatement1.execute();
System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b)); System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b));
log.info(databaseResponse.getSqlPath() + "执行完成"); log.info(databaseResponse.getSqlPath() + "执行完成");
} catch (Exception e) { } catch (Exception e) {
......
# mysql数据库配置 # mysql数据库配置
spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:postgresql://localhost:5866/adaptation?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8 #spring.datasource.url=jdbc:mysql://192.168.1.249:3306/bservice?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
spring.datasource.username=sysdba spring.datasource.url=jdbc:mysql://localhost:3306/adaptation?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
spring.datasource.password=highgo@123 spring.datasource.username=root
spring.datasource.password=root
# mysql数据库配置 # highgo数据库配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.driver-class-name=org.postgresql.Driver
#spring.datasource.url=jdbc:mysql://192.168.1.249:3306/bservice?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8 spring.datasource.url=jdbc:postgresql://localhost:5866/adaptation?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8
spring.datasource.url=jdbc:mysql://localhost:3306/master?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8 spring.datasource.username=sysdba
spring.datasource.username=root spring.datasource.password=highgo@123
spring.datasource.password=root
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论