Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
adaptation-master
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
912协同工作系统
项目监控管理工具
adaptation-master
Commits
5e5c736f
提交
5e5c736f
authored
12月 20, 2019
作者:
zhangshuang
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'zs' 到 'master'
Zs 查看合并请求 ty_wyl/adaptation-master1!34
上级
a9ec5e78
0d7f231f
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
202 行增加
和
75 行删除
+202
-75
DBManageController.java
...aptationmaster/adaptor/controller/DBManageController.java
+6
-0
DBRecordController.java
...aptationmaster/adaptor/controller/DBRecordController.java
+1
-5
InspectController.java
...daptationmaster/adaptor/controller/InspectController.java
+3
-5
Test.java
...va/com/zjty/adaptationmaster/adaptor/controller/Test.java
+24
-0
WebSocketServer.java
.../adaptationmaster/adaptor/controller/WebSocketServer.java
+5
-1
MiddlewareManagement.java
...adaptationmaster/adaptor/entity/MiddlewareManagement.java
+2
-0
Project.java
...ava/com/zjty/adaptationmaster/adaptor/entity/Project.java
+6
-0
SystemVariable.java
.../zjty/adaptationmaster/adaptor/entity/SystemVariable.java
+0
-7
DBRecordDao.java
...zjty/adaptationmaster/adaptor/repository/DBRecordDao.java
+4
-1
DBManageService.java
...jty/adaptationmaster/adaptor/service/DBManageService.java
+3
-0
DBRecordService.java
...jty/adaptationmaster/adaptor/service/DBRecordService.java
+1
-2
AdaptationServiceImpl.java
...ionmaster/adaptor/service/Impl/AdaptationServiceImpl.java
+1
-1
DBManageServiceImpl.java
...ationmaster/adaptor/service/Impl/DBManageServiceImpl.java
+54
-0
DBMigrateServiceImpl.java
...tionmaster/adaptor/service/Impl/DBMigrateServiceImpl.java
+14
-9
DBRecordServiceImpl.java
...ationmaster/adaptor/service/Impl/DBRecordServiceImpl.java
+4
-35
FileUploadServiceImpl.java
...ionmaster/adaptor/service/Impl/FileUploadServiceImpl.java
+1
-1
ServerResponse.java
...m/zjty/adaptationmaster/base/response/ServerResponse.java
+1
-0
FileUtil.java
src/main/java/com/zjty/adaptationmaster/utils/FileUtil.java
+0
-0
FileZip.java
src/main/java/com/zjty/adaptationmaster/utils/FileZip.java
+51
-0
Regular.java
src/main/java/com/zjty/adaptationmaster/utils/Regular.java
+7
-3
Test4.java
src/test/java/com/zjty/adaptationmaster/Test4.java
+14
-5
没有找到文件。
src/main/java/com/zjty/adaptationmaster/adaptor/controller/DBManageController.java
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
.
adaptor
.
controller
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBDeleteResponse
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBManage
;
import
com.zjty.adaptationmaster.adaptor.service.DBManageService
;
import
com.zjty.adaptationmaster.base.response.ServerResponse
;
...
...
@@ -27,4 +28,9 @@ public class DBManageController {
public
ServerResponse
findDatabaseManagement
(){
return
databaseService
.
findDatabase
();
}
@PutMapping
(
"/deleteDB"
)
public
ServerResponse
deleteDB
(
@RequestBody
DBDeleteResponse
dbDeleteResponse
){
return
databaseService
.
deleteDB
(
dbDeleteResponse
);
}
}
src/main/java/com/zjty/adaptationmaster/adaptor/controller/DBRecordController.java
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
.
adaptor
.
controller
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBDeleteResponse
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBRecordPage
;
import
com.zjty.adaptationmaster.adaptor.service.DBRecordService
;
import
com.zjty.adaptationmaster.base.response.ServerResponse
;
...
...
@@ -21,8 +20,5 @@ public class DBRecordController {
return
dbRecordService
.
pageFind
(
dbRecordPage
);
}
@PutMapping
(
"deleteDB"
)
public
ServerResponse
deleteDB
(
@RequestBody
DBDeleteResponse
dbDeleteResponse
){
return
dbRecordService
.
deleteDB
(
dbDeleteResponse
);
}
}
src/main/java/com/zjty/adaptationmaster/adaptor/controller/InspectController.java
浏览文件 @
5e5c736f
...
...
@@ -4,17 +4,15 @@ import com.zjty.adaptationmaster.adaptor.entity.Project;
import
com.zjty.adaptationmaster.adaptor.service.InspectService
;
import
com.zjty.adaptationmaster.base.response.ServerResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
"/inspect"
)
public
class
InspectController
{
@Autowired
private
InspectService
inspectService
;
@
Ge
tMapping
(
"/inspect"
)
public
ServerResponse
inspect
(
Project
projectId
){
@
Pu
tMapping
(
"/inspect"
)
public
ServerResponse
inspect
(
@RequestBody
Project
projectId
){
return
inspectService
.
inspect
(
projectId
);
}
}
src/main/java/com/zjty/adaptationmaster/adaptor/controller/Test.java
0 → 100644
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
.
adaptor
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.zjty.adaptationmaster.base.response.ServerResponse
;
import
org.springframework.web.bind.annotation.*
;
import
java.io.IOException
;
@RestController
@RequestMapping
(
"/send"
)
public
class
Test
{
@PutMapping
(
"/test/{uuid}"
)
public
ServerResponse
test
(
@PathVariable
String
uuid
){
JSONObject
jo
=
new
JSONObject
();
jo
.
put
(
"message"
,
"这是后台返回的消息!"
);
try
{
WebSocketServer
.
sendIn
(
uuid
,
JSONObject
.
toJSONString
(
jo
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ServerResponse
.
success
();
}
}
src/main/java/com/zjty/adaptationmaster/adaptor/controller/WebSocketServer.java
浏览文件 @
5e5c736f
...
...
@@ -27,7 +27,9 @@ public class WebSocketServer {
public
void
onOpen
(
Session
session
,
@PathParam
(
"uuid"
)
String
uuid
){
this
.
session
=
session
;
this
.
uuid
=
uuid
;
System
.
out
.
println
(
this
.
uuid
+
"\t"
+
this
.
session
);
//session.getOpenSessions().
logger
.
info
(
"uuid:"
+
uuid
);
map
.
put
(
uuid
,
this
);
try
{
sendMessage
(
"连接成功"
);
...
...
@@ -73,6 +75,8 @@ public class WebSocketServer {
e
.
printStackTrace
();
}
}
public
static
void
sendIn
(
String
sessionId
,
String
message
)
throws
IOException
{
map
.
get
(
sessionId
).
sendMessage
(
message
);
}
}
src/main/java/com/zjty/adaptationmaster/adaptor/entity/MiddlewareManagement.java
浏览文件 @
5e5c736f
...
...
@@ -28,6 +28,8 @@ public class MiddlewareManagement {
private
String
ip
;
//中间件ip
private
String
type
;
//类型
private
String
port
;
//端口号
@Temporal
(
TemporalType
.
TIMESTAMP
)
...
...
src/main/java/com/zjty/adaptationmaster/adaptor/entity/Project.java
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
.
adaptor
.
entity
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
...
...
@@ -18,6 +19,7 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Entity
@JsonIgnoreProperties
(
value
=
{
"hibernateLazyInitializer"
,
"handler"
})
public
class
Project
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
...
...
@@ -26,6 +28,10 @@ public class Project {
@Column
(
unique
=
true
)
private
String
projectName
;
//项目名称
private
String
sourceDB
;
//原数据库
private
String
createTypeDB
;
//目标数据库
private
String
createMiddleware
;
//目标中间件
private
String
codeUrl
;
//当前源码源码路径
private
Integer
status
=
1
;
//状态(0:删除 1:未删除)
...
...
src/main/java/com/zjty/adaptationmaster/adaptor/entity/SystemVariable.java
deleted
100644 → 0
浏览文件 @
a9ec5e78
package
com
.
zjty
.
adaptationmaster
.
adaptor
.
entity
;
import
org.springframework.context.ApplicationContext
;
public
class
SystemVariable
{
public
static
ApplicationContext
context
;
}
src/main/java/com/zjty/adaptationmaster/adaptor/repository/DBRecordDao.java
浏览文件 @
5e5c736f
...
...
@@ -7,10 +7,13 @@ import org.springframework.data.jpa.repository.Modifying;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
java.util.List
;
public
interface
DBRecordDao
extends
JpaRepository
<
DBRecord
,
Integer
>,
JpaSpecificationExecutor
{
@Query
(
"update DBRecord d set d.status =:status where d.dbName =:dbName"
)
@Modifying
@Query
(
"update DBRecord d set d.status =:status where d.dbName =:dbName"
)
void
delete
(
@Param
(
value
=
"dbName"
)
String
dbName
,
@Param
(
value
=
"status"
)
Integer
status
);
List
<
DBRecord
>
findDBRecordsByStatus
(
Integer
status
);
}
src/main/java/com/zjty/adaptationmaster/adaptor/service/DBManageService.java
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
.
adaptor
.
service
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBDeleteResponse
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBManage
;
import
com.zjty.adaptationmaster.base.response.ServerResponse
;
...
...
@@ -11,4 +12,6 @@ public interface DBManageService {
ServerResponse
deleteDatabase
(
Integer
id
);
ServerResponse
findDatabase
();
ServerResponse
deleteDB
(
DBDeleteResponse
dbDeleteResponse
);
}
src/main/java/com/zjty/adaptationmaster/adaptor/service/DBRecordService.java
浏览文件 @
5e5c736f
...
...
@@ -8,6 +8,5 @@ import com.zjty.adaptationmaster.base.response.ServerResponse;
public
interface
DBRecordService
{
ServerResponse
pageFind
(
DBRecordPage
dbRecordPage
);
ServerResponse
deleteDB
(
DBDeleteResponse
dbDeleteResponse
);
}
src/main/java/com/zjty/adaptationmaster/adaptor/service/Impl/AdaptationServiceImpl.java
浏览文件 @
5e5c736f
...
...
@@ -64,7 +64,7 @@ public class AdaptationServiceImpl implements AdaptationService {
FileUtil
fileUtil
=
new
FileUtil
();
project
.
setCodeUrl
(
Const
.
UPLOAD_LOCATION
+
File
.
separator
+
project
.
getProjectName
());
try
{
fileUtil
.
un
zip
(
path
,
project
.
getCodeUrl
());
fileUtil
.
un
Zip
(
new
File
(
path
)
,
project
.
getCodeUrl
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
src/main/java/com/zjty/adaptationmaster/adaptor/service/Impl/DBManageServiceImpl.java
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
.
adaptor
.
service
.
Impl
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBDeleteResponse
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBManage
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBRecord
;
import
com.zjty.adaptationmaster.adaptor.repository.DBManageDao
;
import
com.zjty.adaptationmaster.adaptor.repository.DBRecordDao
;
import
com.zjty.adaptationmaster.adaptor.service.DBManageService
;
import
com.zjty.adaptationmaster.base.response.ServerResponse
;
import
com.zjty.adaptationmaster.utils.Regular
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.sql.Connection
;
import
java.sql.PreparedStatement
;
import
java.sql.SQLException
;
@Service
public
class
DBManageServiceImpl
implements
DBManageService
{
@Autowired
private
DBManageDao
databaseDao
;
@Autowired
private
DBRecordDao
dbRecordDao
;
@Value
(
"${highgo.driver}"
)
private
String
highgoDriver
;
@Value
(
"${highgo.connectionType}"
)
private
String
highgoConnnectionType
;
@Value
(
"${highgo.dbName}"
)
private
String
highgoDBName
;
/**
* 新增数据库配置文件
...
...
@@ -49,4 +67,40 @@ public class DBManageServiceImpl implements DBManageService {
return
ServerResponse
.
success
(
databaseDao
.
findDatabaseManagementByStatus
(
1
));
}
/**
* 数据库删除
* @param dbDeleteResponse
* @return
*/
@Override
@Transactional
public
ServerResponse
deleteDB
(
DBDeleteResponse
dbDeleteResponse
)
{
DBManage
dbManage
=
databaseDao
.
findDBManageByIdAndStatus
(
dbDeleteResponse
.
getId
(),
1
);
if
(
dbDeleteResponse
.
getDbType
().
equals
(
"highgo"
)){
dbManage
.
setDatabaseName
(
highgoDBName
);
dbManage
.
setDriver
(
highgoDriver
);
dbManage
.
setConnectionType
(
highgoConnnectionType
);
}
Connection
connection
=
Regular
.
databaseConnection
(
dbManage
);
if
(
connection
!=
null
)
{
PreparedStatement
preparedStatement
=
null
;
try
{
String
findDB
=
"DROP DATABASE IF EXISTS "
+
dbDeleteResponse
.
getDbName
()+
";"
;
preparedStatement
=
connection
.
prepareStatement
(
findDB
);
preparedStatement
.
execute
();
dbRecordDao
.
delete
(
dbDeleteResponse
.
getDbName
(),
0
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
preparedStatement
.
close
();
connection
.
close
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
return
ServerResponse
.
success
();
}
}
src/main/java/com/zjty/adaptationmaster/adaptor/service/Impl/DBMigrateServiceImpl.java
浏览文件 @
5e5c736f
...
...
@@ -111,7 +111,6 @@ public class DBMigrateServiceImpl implements DBMigrateService {
File
file
=
new
File
(
path
);
FileReader
fileReader
=
null
;
BufferedReader
bufferedReader
=
null
;
List
<
String
>
tableList
=
new
ArrayList
<>();
List
<
String
>
insertList
=
new
ArrayList
<>();
List
<
String
>
elseList
=
new
ArrayList
<>();
PreparedStatement
preparedStatement1
=
null
;
...
...
@@ -120,7 +119,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
bufferedReader
=
new
BufferedReader
(
fileReader
);
String
s
;
String
sql
=
""
;
ThreadPoolExecutor
pool
=
new
ThreadPoolExecutor
(
poolSize
,
poolSize
,
10
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
poolSize
*
2
));
ThreadPoolExecutor
pool
=
new
ThreadPoolExecutor
(
poolSize
,
poolSize
,
10
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
poolSize
*
2
));
pool
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
while
((
s
=
bufferedReader
.
readLine
())
!=
null
){
if
(
Regular
.
lowerAndUpper
(
s
,
"INSERT"
)
&&
Regular
.
lowerAndUpper
(
s
,
"INTO"
)){
...
...
@@ -144,15 +143,21 @@ public class DBMigrateServiceImpl implements DBMigrateService {
SQLExecuteTask
sqlExecuteTask
=
new
SQLExecuteTask
(
connection1
);
sqlExecuteTask
.
setSql
(
insert
);
pool
.
submit
(
sqlExecuteTask
);
System
.
out
.
println
(
"核心线程数"
+
pool
.
getPoolSize
()
+
"\t"
+
"存活线程数:"
+
pool
.
getActiveCount
()
+
"\t"
+
"等待数量:"
+
pool
.
getQueue
().
size
()
+
"\t"
+
"任务数量:"
+
pool
.
getTaskCount
());
}
if
(
pool
.
getCorePoolSize
()
==
0
){
for
(
String
elseChar:
elseList
){
SQLExecuteTask
sqlExecuteTask
=
new
SQLExecuteTask
(
connection1
);
sqlExecuteTask
.
setSql
(
elseChar
);
pool
.
submit
(
sqlExecuteTask
);
}
//数据库连接池关闭
pool
.
shutdown
();
try
{
pool
.
awaitTermination
(
1
,
TimeUnit
.
HOURS
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
//关闭后执行新建索引和外键的sql语句
for
(
String
elseChar:
elseList
){
SQLExecuteTask
sqlExecuteTask
=
new
SQLExecuteTask
(
connection1
);
sqlExecuteTask
.
setSql
(
elseChar
);
pool
.
submit
(
sqlExecuteTask
);
}
System
.
out
.
println
(
""
);
System
.
out
.
println
(
"sql执行时间为:"
+
(
System
.
currentTimeMillis
()
-
b
));
log
.
info
(
databaseResponse
.
getSqlPath
()
+
"执行完成"
);
}
catch
(
Exception
e
)
{
...
...
src/main/java/com/zjty/adaptationmaster/adaptor/service/Impl/DBRecordServiceImpl.java
浏览文件 @
5e5c736f
...
...
@@ -35,10 +35,10 @@ public class DBRecordServiceImpl implements DBRecordService {
public
ServerResponse
pageFind
(
DBRecordPage
dbRecordPage
)
{
Specification
<
DBRecord
>
specifications
=
Specifications
.<
DBRecord
>
and
()
.
eq
(
dbRecordPage
.
getCreateType
()
!=
null
,
"createType"
,
dbRecordPage
.
getCreateType
())
.
eq
(
dbRecordPage
.
getUserName
()
!=
null
,
"userName"
,
dbRecordPage
.
getUserName
())
//
.eq(dbRecordPage.getUserName() != null,"userName",dbRecordPage.getUserName())
.
eq
(
"status"
,
1
)
.
build
();
Integer
page
=
dbRecordPage
.
getPage
();
/*
Integer page = dbRecordPage.getPage();
Integer size = dbRecordPage.getSize();
if(page == null || page <= 0){
page = 1;
...
...
@@ -50,38 +50,7 @@ public class DBRecordServiceImpl implements DBRecordService {
long count = dbRecordDao.count(specifications);
if(count < 0){
return ServerResponse.error();
}
return
ServerResponse
.
success
(
new
DBRecordReturn
(
count
,
dbRecordDao
.
findAll
(
specifications
,
pageable
).
getContent
()));
}
/**
* 数据库删除
* @param dbDeleteResponse
* @return
*/
@Override
@Transactional
public
ServerResponse
deleteDB
(
DBDeleteResponse
dbDeleteResponse
)
{
DBManage
dbManage
=
dbManageDao
.
findDBManageByIdAndStatus
(
dbDeleteResponse
.
getId
(),
1
);
Connection
connection
=
Regular
.
databaseConnection
(
dbManage
);
if
(
connection
!=
null
)
{
PreparedStatement
preparedStatement
=
null
;
try
{
String
findDB
=
"DROP DATABASE IF EXISTS "
+
dbDeleteResponse
.
getDbName
()+
";"
;
preparedStatement
=
connection
.
prepareStatement
(
findDB
);
preparedStatement
.
execute
();
dbRecordDao
.
delete
(
dbDeleteResponse
.
getDbName
(),
0
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
preparedStatement
.
close
();
connection
.
close
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
return
ServerResponse
.
success
();
}*/
return
ServerResponse
.
success
(
dbRecordDao
.
findAll
(
specifications
));
}
}
src/main/java/com/zjty/adaptationmaster/adaptor/service/Impl/FileUploadServiceImpl.java
浏览文件 @
5e5c736f
...
...
@@ -32,7 +32,7 @@ public class FileUploadServiceImpl implements FileUploadService {
BufferedOutputStream
bos
=
null
;
FileReturn
fileReturn
=
new
FileReturn
();
String
sourceName
=
multipartFile
.
getOriginalFilename
();
String
suffix
=
sourceName
.
substring
(
sourceName
.
lastIndexOf
(
"."
)
+
1
);
String
suffix
=
sourceName
.
substring
(
sourceName
.
lastIndexOf
(
"."
));
String
fileName
=
UUID
.
randomUUID
().
toString
()
+
suffix
;
//不存在该目录,创建目录
File
file
=
new
File
(
"/sqlFile/uploads"
);
...
...
src/main/java/com/zjty/adaptationmaster/base/response/ServerResponse.java
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
.
base
.
response
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.zjty.adaptationmaster.utils.HttpClientUtil
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
src/main/java/com/zjty/adaptationmaster/utils/FileUtil.java
浏览文件 @
5e5c736f
差异被折叠。
点击展开。
src/main/java/com/zjty/adaptationmaster/utils/FileZip.java
0 → 100644
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
.
utils
;
import
java.io.*
;
import
java.nio.charset.Charset
;
import
java.util.Enumeration
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipFile
;
public
class
FileZip
{
public
static
void
unZipFiles
(
File
zipFile
,
String
descDir
)
throws
IOException
{
File
pathFile
=
new
File
(
descDir
);
if
(!
pathFile
.
exists
())
{
pathFile
.
mkdirs
();
}
//解决zip文件中有中文目录或者中文文件
ZipFile
zip
=
new
ZipFile
(
zipFile
,
Charset
.
forName
(
"GBK"
));
for
(
Enumeration
entries
=
zip
.
entries
();
entries
.
hasMoreElements
();)
{
ZipEntry
entry
=
(
ZipEntry
)
entries
.
nextElement
();
String
zipEntryName
=
entry
.
getName
();
InputStream
in
=
zip
.
getInputStream
(
entry
);
String
outPath
=
(
descDir
+
zipEntryName
).
replaceAll
(
"\\*"
,
"/"
);;
//判断路径是否存在,不存在则创建文件路径
File
file
=
new
File
(
outPath
.
substring
(
0
,
outPath
.
lastIndexOf
(
'/'
)));
if
(!
file
.
exists
())
{
file
.
mkdirs
();
}
//判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
if
(
new
File
(
outPath
).
isDirectory
())
{
continue
;
}
//输出文件路径信息
System
.
out
.
println
(
outPath
);
OutputStream
out
=
new
FileOutputStream
(
outPath
);
byte
[]
buf1
=
new
byte
[
1024
];
int
len
;
while
((
len
=
in
.
read
(
buf1
))>
0
)
{
out
.
write
(
buf1
,
0
,
len
);
}
in
.
close
();
out
.
close
();
}
zip
.
close
();
//**原博忘记关了,所以我在做完这些操作后想要删除文件时,一直已占用,必须关掉服务器才可以**
System
.
out
.
println
(
"******************解压完毕********************"
);
}
}
src/main/java/com/zjty/adaptationmaster/utils/Regular.java
浏览文件 @
5e5c736f
...
...
@@ -98,6 +98,10 @@ public class Regular {
s
=
StringType
(
s
,
"double"
,
"real"
);
//插入值时boolean类型转换
s
=
replaceLowerAndUpper
(
s
,
"BIT(1)"
,
"boolean"
);
//替换longtext
s
=
replaceLowerAndUpper
(
s
,
"longtext"
,
"text"
);
//替换mediumtext
s
=
replaceLowerAndUpper
(
s
,
"mediumtext"
,
"text"
);
//从第一个创建表的可执行命令开始
if
(
lowerAndUpper
(
s
,
"DROP"
)
&&
lowerAndUpper
(
s
,
"TABLE"
)
&&
executeOne
){
isFirstDrop
=
true
;
...
...
@@ -231,8 +235,8 @@ public class Regular {
* 大小写都替换
*/
public
static
String
replaceLowerAndUpper
(
String
s
,
String
upper
,
String
replacement
){
s
=
s
.
replace
All
(
upper
,
replacement
);
s
=
s
.
replace
All
(
upper
.
toLowerCase
(),
replacement
);
s
=
s
.
replace
(
upper
,
replacement
);
s
=
s
.
replace
(
upper
.
toLowerCase
(),
replacement
);
return
s
;
}
...
...
@@ -285,6 +289,6 @@ public class Regular {
public
static
void
main
(
String
[]
args
)
{
mySqlRegular
(
"
C:\\Users\\admin\\Desktop\\database\\new_debug.sql"
,
"new_debug
"
);
mySqlRegular
(
"
D:\\sqlFile\\uploads\\63c6e098-73fd-4999-b289-b3d120a07e87.sql"
,
"test11111
"
);
}
}
src/test/java/com/zjty/adaptationmaster/Test4.java
浏览文件 @
5e5c736f
package
com
.
zjty
.
adaptationmaster
;
import
com.zjty.adaptationmaster.adaptor.entity.db.DBManage
;
import
com.zjty.adaptationmaster.utils.Regular
;
import
org.postgresql.copy.CopyManager
;
import
org.postgresql.core.BaseConnection
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.IOException
;
import
java.sql.Connection
;
import
java.sql.SQLException
;
public
class
Test4
{
public
static
void
main
(
String
[]
args
)
{
String
s
=
"123)456)789)0"
;
String
[]
array
=
s
.
split
(
"\\)"
);
for
(
String
si:
array
){
System
.
out
.
println
(
si
);
}
String
s
=
"\"record_alarm\" bit(1) DEFAULT NULL,"
;
System
.
out
.
println
(
s
.
replaceAll
(
"bit(1)"
,
"boolean"
));
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论