Spring Boot 集成 国产数据库-人大金仓(二)

2,250 阅读2分钟

这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战

  1. SpringBoot 项目pom.xml文件添加如下maven依赖:
<!-- 阿里巴巴druid 连接池 -->
 		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>
      <dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.4.0</version>
</dependency>
  1. Spring Boot 集成 人大金仓数据库的application.yml文件配置如下:
spring:
  datasource:
    dynamic:
      primary: master
      datasource:
        # 主库数据源
        master:
          driver-class-name: com.kingbase8.Driver
          url: jdbc:kingbase8://127.0.0.1:54321/trs_cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
          username: root
          password: 123456
          druid:
            # 初始化大小,最小,最大
            initial-size: 10
            min-idle: 10
            max-active: 50
            # 配置获取连接等待超时的时间
            max-wait: 60000
            # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
            time-between-eviction-runs-millis: 60000
            # 配置一个连接在池中最小生存的时间,单位是毫秒
            min-evictable-idle-time-millis: 300000
            validation-query: SELECT dummy FROM DUAL
            test-while-idle: true
            test-on-borrow: false
            test-on-return: false      # 打开PSCache,并且指定每个连接上PSCache的大小
            pool-prepared-statements: true
            max-pool-prepared-statement-per-connection-size: 20
            # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
            filters: stat,log4j2
            # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
            connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
            db-type: postgresql
            # 监控配置
            # Druid WebStatFilter配置
            web-stat-filter:
              enabled: true
              url-pattern: /*
              exclusions: /druid/*,*.gif,*.png,*.jpg,*.html,*.js,*.css,*.ico
            # Druid StatViewServlet配置
            stat-view-servlet:
              enabled: true
              url-pattern: /druid/*
              # 登录监控界面的用户名以及密码,登录url为localhost:8080/druid
              login-username: admin
              login-password: admin
              allow:
              deny:
  1. 添加数据库连接dao、service、controller层,修改启动类扫描包
@MapperScan(basePackages = {"com.ozx.kingbase.dao"})
@ComponentScan(basePackages={"com.ozx.kingbase.service"})
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class KingbaseApplication {
    public static void main(String[] args) {
        SpringApplication.run(KingbaseApplication.class, args);
    }
}
  1. 测试springBoot集成人大金仓数据库是否正常
@SpringBootTest
@Sl4j
class KingbaseApplicationTests {
    @Autowired
    private UserService userService;

    @Test
    void testGetUser() {
        List<User> list = userService.list();
        for (User user: list
             ) {
            log.info("user:{}",user.toString());
        }
    }

}

注意点: 人大金仓数据库跟Oracle相似,在数据库下能创建对应模式,在application.yml文件中配置指定模式,默认模式是public,创建对应数据表结构、表数据。当多个表有相同字段名,需要指定模式进行检索。