dataflicker数据迁移代码编写

This commit is contained in:
2024-01-02 15:53:54 +08:00
parent 73172798c5
commit a927accddc
163 changed files with 13510 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
package com.njcn.oracle;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* pqs
*
* @author cdf
* @date 2022/11/10
*/
@Slf4j
@MapperScan("com.njcn.**.mapper")
@SpringBootApplication(scanBasePackages = "com.njcn")
public class OracleDataApplication {
public static void main(String[] args) {
SpringApplication.run(OracleDataApplication.class, args);
}
}

View File

@@ -0,0 +1,83 @@
server:
port: 8091
spring:
application:
name: oracle-data
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
dynamic:
druid:
initial-size: 10
# 初始化大小,最小,最大
min-idle: 20
maxActive: 500
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
testWhileIdle: true
testOnBorrow: true
validation-query: SELECT 1 from dual
testOnReturn: false
# 打开PSCache并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat,wall
filter:
wall:
config:
multi-statement-allow: true
none-base-statement-allow: true
enabled: true
# 配置DruidStatFilter
web-stat-filter:
enabled: true
url-pattern: "/*"
exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
# 配置DruidStatViewServlet
stat-view-servlet:
enabled: true
url-pattern: "/druid/*"
# IP白名单(没有配置或者为空,则允许所有访问)
allow: #127.0.0.1,192.168.163.1
# IP黑名单 (存在共同时deny优先于allow)
deny: #192.168.1.73
# 禁用HTML页面上的“Reset All”功能
reset-enable: false
# 登录名
login-username: admin
# 登录密码
login-password: njcnpqs
query-timeout: 36000
primary: master
strict: false
datasource:
master:
url: jdbc:oracle:thin:@192.168.1.101:1521:pqsbase
username: pqsadmin
password: Pqsadmin123
driver-class-name: oracle.jdbc.driver.OracleDriver
target:
url: jdbc:oracle:thin:@192.168.1.51:1521:pqsbase
username: pqsadmin_hn
password: pqsadmin
driver-class-name: oracle.jdbc.driver.OracleDriver
#mybatis配置信息
mybatis-plus:
#别名扫描
type-aliases-package: com.njcn.oracle.bo
mapper-locations: classpath*:com/njcn/**/mapping/*.xml
configuration:
#驼峰命名
map-underscore-to-camel-case: true
#配置sql日志输出
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#关闭日志输出
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
global-config:
db-config:
#指定主键生成策略
id-type: assign_uuid

View File

@@ -0,0 +1,18 @@
package com.njcn;
import com.njcn.oracle.OracleDataApplication;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月10日 15:05
*/
@RunWith(SpringRunner.class)
@WebAppConfiguration
@SpringBootTest(classes = OracleDataApplication.class)
public class BaseJunitTest {
}

View File

@@ -0,0 +1,52 @@
package com.njcn;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.njcn.oracle.bo.param.MigrationParam;
import com.njcn.oracle.bo.po.DataFlicker;
import com.njcn.oracle.service.IDataFlickerService;
import lombok.SneakyThrows;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月14日 12:55
*/
public class DataTest extends BaseJunitTest {
@Autowired
private IDataFlickerService dataFlickerService;
@SneakyThrows
@Test
public void test() {
LocalDateTime endTime = LocalDateTimeUtil.parse("2023-12-29 15:00:10", DatePattern.NORM_DATETIME_PATTERN);
LocalDateTime startTime = LocalDateTimeUtil.offset(endTime, -24, ChronoUnit.HOURS);
// LocalDateTime endTime = LocalDateTimeUtil.parse("1970-01-02 00:00:10", DatePattern.NORM_DATETIME_PATTERN);
// LocalDateTime startTime = LocalDateTimeUtil.offset(endTime, -2, ChronoUnit.HOURS);
MigrationParam migrationParam = new MigrationParam();
migrationParam.setStartTime(startTime);
migrationParam.setEndTime(endTime);
//查询数据
List<DataFlicker> dataFlickers = dataFlickerService.queryData(migrationParam);
if(CollectionUtil.isNotEmpty(dataFlickers)){
//清除数据
dataFlickerService.clearTargetData(migrationParam);
//插入数据
dataFlickerService.insertBatchByDB(dataFlickers);
}
}
}