多数据源方式在java中的使用postgresql数据库

  • Post author:
  • Post category:java


开发环境:

jdk8
springboot
idea
maven

PostgreSQL优点:

 1.属于关系型数据库
 2.稳定性强
 3.支持最丰富的数据类型
 4.开源的
 5.跨平台的,支持所有主要的操作系统
 6.速度快

(我使用它主要是因为它支持存储数组类型的数据)

依赖

dalesbred版本
<dependency>
    <groupId>org.dalesbred</groupId>
    <artifactId>dalesbred</artifactId>
    <version>1.2.4</version>
</dependency>

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.1.4</version>
</dependency>

配置文件

postgres-db.username=postgres
postgres-db.password=123456
postgres-db.url=jdbc:postgresql://127.0.0.1:5432/数据库名

SpringBean驱动

(此处使用的是多数据源的方式加载,需要把sql拼在代码中)
@Configuration
public class DataSourceConfiguration
{
    @Bean
    public Database database(
        @Value("${postgres-db.username}") final String username,
        @Value("${postgres-db.password}") final String password,
        @Value("${postgres-db.url}") final String url) throws SQLException
    {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName("org.postgresql.Driver");
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        dataSource.setUrl(url);
        // 连接数配置
        dataSource.setInitialSize(5);
        dataSource.setMinIdle(1);
        dataSource.setMaxActive(10);
        // 启用监控统计功能
        // dataSource.setFilters("stat");
        // for mysql
        dataSource.setPoolPreparedStatements(false);
        // 使用心跳语句检测空闲连接
        dataSource.setValidationQuery("show status like \"%Service_Status%\";");
        dataSource.setTestWhileIdle(true);
        return Database.forDataSource(dataSource);
    }
}
注入bean
 @Autowired
Database database;
查询案例
List<Question> questions = database.findAll(Question.class,
            "select* from dadui.question where id = ?", id);

参考:

PostgreSql教程



版权声明:本文为qq_34007493原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。