亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

idea中定時(shí)及多數(shù)據(jù)源配置方法

 更新時(shí)間:2023年12月18日 11:28:36   作者:新子-存在了  
因項(xiàng)目要求,需要定時(shí)從達(dá)夢(mèng)數(shù)據(jù)庫(kù)中取數(shù)據(jù),并插入或更新到ORACLE數(shù)據(jù)庫(kù)中,這篇文章主要介紹了idea中定時(shí)及多數(shù)據(jù)源配置方法,需要的朋友可以參考下

因項(xiàng)目要求,需要定時(shí)從達(dá)夢(mèng)數(shù)據(jù)庫(kù)中取數(shù)據(jù),并插入或更新到ORACLE數(shù)據(jù)庫(kù)中

1.pom.xml

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.18-SNAPSHOT</version>
        <relativePath/>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>pro</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>pro</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.oracle.database.nls/orai18n -->
        <dependency>
            <groupId>com.oracle.database.nls</groupId>
            <artifactId>orai18n</artifactId>
            <version>19.7.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>2.5.7</version>
        </dependency>
        <!-- 達(dá)夢(mèng)數(shù)據(jù)庫(kù)驅(qū)動(dòng)  -->
        <dependency>
            <groupId>dm.jdbc</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>18</version>
        </dependency>
        <!--苞米豆的多數(shù)據(jù)源配置依賴-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!-- generator插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                    <configurationFile>
                        ${basedir}/src/main/resources/generator/generatorConfig.xml
                    </configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.16</version>
                    </dependency>
                    <!-- 達(dá)夢(mèng)數(shù)據(jù)庫(kù)驅(qū)動(dòng)  -->
                    <dependency>
                        <groupId>dm.jdbc</groupId>
                        <artifactId>DmJdbcDriver18</artifactId>
                        <version>18</version>
                    </dependency>
                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper</artifactId>
                        <version>4.1.5</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </pluginRepository>
    </pluginRepositories>
</project>

2.yml 文件

server:
  port: 9321
spring:
  datasource:
    dynamic:
      primary: master #設(shè)置默認(rèn)的數(shù)據(jù)源或者數(shù)據(jù)源組,默認(rèn)值即為master
      strict: true  #設(shè)置嚴(yán)格模式,默認(rèn)false不啟動(dòng),啟動(dòng)后在未匹配到指定數(shù)據(jù)源時(shí),會(huì)拋出異常,不啟動(dòng)則使用默認(rèn)數(shù)據(jù)源
      datasource:
        master: #主數(shù)據(jù)源
          url: jdbc:dm://127.0.0.1:5236/test?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8
          username: SYSDBA
          password: SYSDBA
          driver-class-name: dm.jdbc.driver.DmDriver
        db2 : #子數(shù)據(jù)源
          url: jdbc:oracle:thin:@localhost:1521:ORCL?useUnicode=true&characterEncoding=ZHS16GBK
          username: avic
          password: avic
          driver-class-name: oracle.jdbc.driver.OracleDriver
mybatis:
  mapper-locations: classpath:/mapper/*.xml # 配置MyBatis-Plus掃描Mapper文件的位置
  type-aliases-package: com.example.pro.pojo # 創(chuàng)建別名的類所在的包
logging:
  level:
    com:
      example:
        pro: debug
  file:
    name: ./logs/my.log
  pattern:
    console: "%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n"
    file: "%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n"
 

3.mapper

主數(shù)據(jù)源是達(dá)夢(mèng)的,達(dá)夢(mèng)mapper調(diào)用不需要額外的配置,正常使用即可

從數(shù)據(jù)源是oracle的,需要額外進(jìn)行配置 @DS(value = "從數(shù)據(jù)源")

package com.example.pro.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.example.pro.pojo.AvicUser;
import org.apache.ibatis.annotations.Mapper;
import java.util.ArrayList;
import java.util.List;
/**
 * OracleMapper
 */
//@Repository
@Mapper
public interface OracleMapper {
    @DS(value = "db2")
    List<AvicUser> getList();
    @DS(value = "db2")
    int insetList(ArrayList<AvicUser> avicList);
    @DS(value = "db2")
    void insertObj(AvicUser avicUser);
}

4.定時(shí)任務(wù)

package com.example.pro.timer;
import com.example.pro.service.IOperationService;
import com.example.pro.service.IOracleService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
 * 定時(shí)任務(wù) , 每天 晚上 11點(diǎn) 執(zhí)行
 */
@Slf4j
@Component
public class Schedule {
    @Autowired
    private IOperationService operationService;
    @Autowired
    private IOracleService oracleService;
    public Schedule() {
        log.debug("創(chuàng)建計(jì)劃任務(wù)類對(duì)象:Schedule");
    }
    /*@Scheduled(cron = "0 0 23 * * ? ")
     每天晚上11點(diǎn)開(kāi)始執(zhí)行任務(wù)*/
    //@Scheduled(fixedRate = 1 * 60 * 1000)
    @Scheduled(cron = "0/300 * * * * ?")   //30秒執(zhí)行一次
    public  void timedTask() {
        log.debug("開(kāi)始執(zhí)行處理定時(shí)的計(jì)劃任務(wù)……");
        operationService.angelhood();
        //oracleService.getDmlist();
        //oracleService.getOraclelist();
        log.debug("處理定時(shí)的計(jì)劃任務(wù)執(zhí)行完成!");
    }
}

5.啟動(dòng)類

package com.example.pro;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})//多數(shù)據(jù)源時(shí)是使用
@EnableAspectJAutoProxy //開(kāi)啟Spring Boot對(duì)AOP的支持
@MapperScan("com.example.pro.mapper")//包掃描
@EnableScheduling//開(kāi)啟定時(shí)
public class ProApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProApplication.class, args);
    }
}

6.打包+運(yùn)行指令

因項(xiàng)目需要 package 打包成了 war 包

nohup java -jar pro-0.0.1-SNAPSHOT.war > oracle.log 2>& 1&

到此這篇關(guān)于idea中定時(shí)+多數(shù)據(jù)源配置的文章就介紹到這了,更多相關(guān)idea多數(shù)據(jù)源配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論