KM数据迁移工具初始化

main
kevin 4 months ago
commit 94e176ee69
  1. BIN
      DmJdbcDriver18-8.1.1.193.jar
  2. 3
      README.md
  3. BIN
      ojdbc6.jar
  4. 66
      pom.xml
  5. 14
      src/main/java/com/data/migration/MigrationApplication.java
  6. 23
      src/main/java/com/data/migration/config/DataSourceConfig.java
  7. 30
      src/main/java/com/data/migration/config/JdbcTemplateConfig.java
  8. 76
      src/main/java/com/data/migration/controller/UserMigrateController.java
  9. 12
      src/main/resources/application.yml

Binary file not shown.

@ -0,0 +1,3 @@
1. 本地maven导入jar包,进入到jar所在目录,打开cmd,执行如下命令进行导入:
2. mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar
3. mvn install:install-file -Dfile=DmJdbcDriver18-8.1.1.193.jar -DgroupId=com.dameng -DartifactId=DmJdbcDriver18 -Dversion=8.1.1.193 -Dpackaging=jar

Binary file not shown.

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.data.migration</groupId>
<artifactId>data-migrate</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- Oracle JDBC Driver -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
</dependency>
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.1.193</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

@ -0,0 +1,14 @@
package com.data.migration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class MigrationApplication {
public static void main(String[] args) {
SpringApplication.run(MigrationApplication.class,args);
System.out.println("启动系统");
}
}

@ -0,0 +1,23 @@
package com.data.migration.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
@Configuration
public class DataSourceConfig {
@Bean(name = "oracleDataSource")
@ConfigurationProperties(prefix = "spring.datasource.oracle")
public DataSource oracleDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "dmDataSource")
@ConfigurationProperties(prefix = "spring.datasource.dm")
public DataSource dmDataSource() {
return DataSourceBuilder.create().build();
}
}

@ -0,0 +1,30 @@
package com.data.migration.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
@Configuration
public class JdbcTemplateConfig {
@Autowired
@Qualifier("oracleDataSource")
private DataSource oracleDataSource;
@Autowired
@Qualifier("dmDataSource")
private DataSource dmDataSource;
@Bean(name = "oracleJdbcTemplate")
public JdbcTemplate oracleJdbcTemplate() {
return new JdbcTemplate(oracleDataSource);
}
@Bean(name = "dmJdbcTemplate")
public JdbcTemplate dmJdbcTemplate() {
return new JdbcTemplate(dmDataSource);
}
}

@ -0,0 +1,76 @@
package com.data.migration.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/user")
public class UserMigrateController {
@Resource(name = "oracleJdbcTemplate")
private JdbcTemplate oracleJdbcTemplate;
@Resource(name = "dmJdbcTemplate")
private JdbcTemplate dmJdbcTemplate;
@GetMapping("/hello")
public String sayHello(){
this.migrateData();
return "Hello!";
}
public void migrateData() {
String sql = "select ID, NAME, LOGIN_NAME, EMAIL, ORDER_NO, REGISTER_TIME, PASSWORD, SEX, TELEPHONE from to_horizon_user";
List<Map<String, Object>> data = oracleJdbcTemplate.queryForList(sql);
String dm_sql = "insert into base_user(F_Id, F_RealName, F_Account, F_Email,F_SortCode,F_CreatorTime, F_Password, F_Gender,F_MobilePhone,F_EnabledMark,F_IsAdministrator) VALUES";
for (Map<String, Object> row : data) {
// targetJdbcTemplate.update("INSERT INTO target_table (column1, column2) VALUES (?, ?)", row.get("column1"), row.get("column2"));
StringBuffer sb = new StringBuffer();
sb.append("('").append(row.get("id"));
Object name = row.get("NAME");
if(name == null){
continue;
}
if(name.toString().contains("管理员") || name.toString().contains("安全审计员")){
continue;
}
sb.append("','").append(name);
sb.append("','").append(row.get("LOGIN_NAME"));
Object email = row.get("EMAIL");
if(email != null){
sb.append("','").append(email);
sb.append("',").append(row.get("ORDER_NO"));
}else{
sb.append("',").append(email);
sb.append(",").append(row.get("ORDER_NO"));
}
sb.append(",'").append(row.get("REGISTER_TIME"));
sb.append("','").append(row.get("PASSWORD"));
//1 男,2 女 老平台 0 男,1 女
Object sex = row.get("SEX");
if(sex != null && sex.toString().equals("0")){
sb.append("',").append(1);
}else{
sb.append("',").append(2);
}
Object phone = row.get("TELEPHONE");
if(phone != null){
sb.append(",'").append(row.get("TELEPHONE"));
sb.append("',1,0)");
}else{
sb.append(",").append(row.get("TELEPHONE"));
sb.append(",1,0)");
}
dmJdbcTemplate.update(dm_sql+sb.toString());
System.out.println(dm_sql+sb.toString());
}
}
}

@ -0,0 +1,12 @@
spring:
datasource:
oracle:
jdbc-url: jdbc:oracle:thin:@192.168.0.252:1521:orcl
username: kmhbws
password: kmhbws
driver-class-name: oracle.jdbc.driver.OracleDriver
dm:
jdbc-url: jdbc:dm://192.168.0.221:5236
username: KMCLOUD
password: KMCLOUD
driver-class-name: dm.jdbc.driver.DmDriver
Loading…
Cancel
Save