Spring Boot整合PostgreSQL(含安装说明)

Spring Boot中使用PostgreSQL数据库 在如今的关系型数据库中,有两个开源产品是你必须知道的。其中一个是MySQL,相信关注我的小伙伴们一定都不陌生,因为之前的Spring Boot关于关系型数据库的所有例子都是对MySQL来介绍的。而今天我们将介绍另外一个开源关系型数据库:PostgreSQL,以及在Spring Boot中如何使用。 PostgreSQL简介 在学习PostgreSQL的时候,我们总是会将其与MySQL放一起来比较:MySQL自称是最流行的开源数据库,而PostgreSQL则标榜自己是最先进的开源数据库,那么有多先进呢?下面就 阅读详情
AI摘要

本文详细介绍了如何从零开始搭建PostgreSQL数据库环境,包括下载、安装、配置及远程登录设置。并通过SpringBoot框架整合PostgreSQL,实现数据源配置、JDBC模板注入及基本的数据库操作测试。

使用背景

因项目需要去其他系统采集一些数据,由于三方系统没有开放相关接口,允许直接去读库操作,对方使用的是PostgreSQL,且没有相关的测试环境,所以需要自己搭建一套,从而进行开发和测试使用。

安装PostgreSQL

下载

去官网寻找对应的版本,选择版本后,下面会有yum安装说明,按照安装说明在服务器上使用命令即可。
在这里插入图片描述
在这里插入图片描述

配置

需要配置远程登录相关内容,需要找到下面两个文件,并进行配置。
在这里插入图片描述
需要把第一个文件中的listen_addresses注释打开,并且配置为’*’;第二个文件中,ipv4和ipv6都要进行配置,如下图:
在这里插入图片描述
然后需要登录并且给对应用户设置密码。
在这里插入图片描述
关闭防火墙,打开端口(默认5432)

连接测试

使用Navicat进行连接测试。
在这里插入图片描述

初始化数据库信息

1.创建数据库

postgres=# CREATE DATABASE testdb;
CREATE DATABASE

2.初始化数据库表
使用普通sql语句即可,表结构信息如下:在这里插入图片描述
3.初始化数据(riqi和xingqi写错了 - - !!)
在这里插入图片描述

Spring Boot整合

导入依赖修改配置

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.27</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
spring.datasource.url=jdbc:postgresql://192.168.1.106:5432/testdb
spring.datasource.username=postgres
spring.datasource.password=pg123
spring.datasource.driverClassName=org.postgresql.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.hbm2ddl.auto=update

添加数据源信息

@Configuration
public class DataConfig {
    @Value("${spring.datasource.username}")
    private String user;
    @Value("${spring.datasource.password}")
    private String pass;
    @Value("${spring.datasource.url}")
    private String url;
    @Value("${spring.datasource.driverClassName}")
    private String driverClassName;

    @Bean(name = "data_pgsql")
    public DataSource dataSource() {
        return getDruidDataSource(user,pass,url,driverClassName);
    }

    private DruidDataSource getDruidDataSource(String name,String password,String url,String driver){
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDriverClassName(driver);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername(name);
        druidDataSource.setPassword(password);
        return druidDataSource;
    }

    @Bean(name = "jdbc_pgsql")
    public JdbcTemplate getJdbcTemplate(@Qualifier("data_pgsql") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

}

测试验证

@RestController
public class TestController {

    @Autowired
    @Qualifier("jdbc_pgsql")
    private JdbcTemplate jdbcTemplate;

    @RequestMapping(value = "/getUser")
    public Object get() {

        LocalDate date = LocalDate.now();

        System.out.println(date.toString());
        String sql = "select name1,name2,name3,name4,name5,name6 from users where xingqi =?";
        return jdbcTemplate.queryForList(sql, date.toString());
    }
}

使用postman发送请求:
在这里插入图片描述

使用Spring Boot和PostgreSQL构建高级查询 高级查询功能在现代应用中非常重要,尤其是在数据量大且查询需求复杂的情况下。通过本文,我们了解了如何使用Spring Boot和PostgreSQL实现高级查询。我们从项目初始化开始,逐步实现了实体类、Repository接口、规格类、服务层以及控制器,最终实现了复杂查询的API端点。通过以上步骤,我们已经完成了Spring Boot与PostgreSQL高级查询的实现。首先,我们需要创建一个Spring Boot项目,并添加必要的依赖。假设我们有一个用户表,我们首先创建对应的实体类。 阅读详情

相关推荐

springboot整合pgsql

springboot整合pgsql,并进行类型转换

hey_lie的博客 2256

SpringBoot整合PostgreSQL教程

与mysql一样也是开源的关系型数据库,同时还支持NoSql的文档型存储。在某些方面标榜比mysql表现更加出众,现在就让我们来了解下如何使用postgresql。

imVainiycos的博客 2万+

Spring Boot 整合 MyBatis 与 PostgreSQL 实战指南

在包下精心构建与数据库表结构对应的实体类,例如创建User@Data此处借助 Lombok 的@Data注解简化了常规的getsetequalshashCode等方法编写,若未引入 Lombok,需手动生成这些方法。于包内创建UserMapper接口,用@Mapper@Mapper。

brrdg_sefg的博客 1330

SpringBoot3集成PostgreSQL

PostgreSQL是一个功能强大的开源数据库系统,具有可靠性、稳定性、数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux、Unix、Windows等。

【积累】,是一个长期持续的过程。 5957

MDPI期刊投稿全流程解析:从注册到提交的实用指南

本文详细解析了向MDPI期刊投稿的全过程,从注册账号、完善个人资料、上传稿件,到填写作者信息、推荐审稿人及提交附信等关键步骤。指南强调了使用机构邮箱、遵循期刊模板、认真准备Cover Letter等实用技巧,旨在帮助作者高效、规范地完成投稿,避免常见错误,提升稿件处理效率。

weixin_29250403的博客 924

GQA数据集介绍

GQA,这是一个用于真实世界视觉推理和组合问答的新数据集。2200万个不同的推理问题,所有这些问题都带有表示其语义的功能程序。答案分布受到严格控制。11.3万张图像、2200万个问题,推理能力有对象和属性识别、传递关系跟踪、空间推理、逻辑推理和比较。

qq_56551150的博客 2954

Spring Boot整合MyBatis与PostgreSQL开发实践

ORM框架是Java企业级开发中连接应用与数据库的关键组件,MyBatis作为半自动化ORM以其SQL灵活性广受欢迎。结合Spring Boot的自动配置能力,开发者可以快速构建数据访问层,而PostgreSQL凭借其丰富的特性成为理想的关系型数据库选择。这种技术组合特别适合需要平衡开发效率与SQL控制权的场景,如快速迭代的中小型项目或处理复杂数据类型的应用。通过动态SQL、分页处理和事务管理等高级特性,开发者能够构建高性能的数据访问方案。

weixin_30740581的博客 330

[CTFSHOW]JWT

文章目录前言JWT简介CTFSHOW Web345CTFSHOW Web346前置知识开始做题CTFSHOW Web347CTFSHOW Web348CTFSHOW Web349CTFSHOW Web350前置知识利用WP如何防御 前言 有些师傅向我咨询WP,索性就发了吧,其实早就写好了,只是懒,在github仓库里囤着 JWT简介 可以看看我的Github总结给自己看的,Y4tacker CTFSHOW Web345 首先打开题目,查看源码,接下来访问/admin被跳转回主页啥也没有发生 where is

Y4tacker的博客 6042

spring-boot整合quartz、postgreSql数据库

新项目用到postgresql数据库整合quartz。 开始启动时报错 建议:No operator matches the given name and argument type(s). You might need to add explicit type casts. 位置:117 [See nested exception: org.postgresql.util.PSQLExce...

qq_41085699的博客 4241

第4章 Stata参数检验

目录 4.1单一样本T检验 案例延伸 4.2独立样本T检验 案例延伸 1.改变置信水平 2.在异方差假定条件下进行假设检验 4.3配对样本T检验 案例延伸 1.改变置信水平 4.4单一样本方差的假设检验 案例延伸 4.5双样本方差的假设检验 参数检验(Parameter Test)是指对参数的平均值、方差、比率等特征进行的统计检验。参数检验一般假设统计总体的具体分布为已知,但是其中一些参数或者取值范围不确定,分析的主要目的是估计这些未知参数的取值,或者对这些参数进...

qq_45112156的博客 1万+

保姆级教程:不用看古早代码,5分钟搞懂泛微ecology9附件存储与接口调用

本文详细解析了泛微ecology9附件存储与接口调用的核心原理,提供从基础概念到实战操作的完整指南。通过拆解文档化附件设计理念、解析RESTful接口参数,并给出Python代码示例,帮助开发者快速掌握附件上传与业务集成的关键技巧,提升二次开发效率。

weixin_28688385的博客 349

【SpringBoot】 整合MyBatis+Postgresql

MyBatis是一个轻量级持久化框架,通过XML/注解配置SQL语句并映射为Java对象,支持动态SQL和缓存。文章详细介绍了在SpringBoot中整合MyBatis与PostgreSQL数据库的完整流程:包括数据库安装配置(含多版本端口修改)、SQL语句转换注意事项(MySQL与PostgreSQL差异处理)、Maven依赖添加(MyBatis+PostgreSQL驱动)、实体类与Mapper接口创建、分层架构实现(Service/Controller层)。重点讲解了分层架构中各组件(Mapper/Se

Z_W_H_的博客 1920

YOLO26改进 - C2PSA | C2PSA融合CPIASA跨范式交互与对齐自注意力机制 : 交互对齐机制,提升小目标与遮挡目标判别力 | ACM MM2025

本文介绍了跨范式表征与对齐Transformer(CPRAformer)及其核心的跨范式交互与对齐自注意力机制(CPIA - SA),并阐述了其在YOLO26中的结合应用。传统图像去雨模型特征提取局限大,CPIA - SA通过协同“空间 - 通道”与“全局 - 局部”范式解决该问题,由SPC - SA、SPR - SA和AAFM子模块构成,经双路提取、动态过滤、空间细化、对齐融合四步工作。我们将相关代码引入指定目录,在`ultralytics/nn/tasks.py`中注册,配置`yolo26 - C2PS

魔改工程师的博客 664

Spring Boot整合PostgreSQL连接性能下降的优化策略

总的来说,Spring Boot 整合 PostgreSQL 的连接性能优化是一个多方面的过程,涉及到连接池配置、SQL 优化、事务管理优化和数据库服务器优化。需要根据实际情况,综合考虑各种因素,才能找到最佳的优化方案。连接池的合理配置是性能的基础,需要根据并发量和数据库服务器性能进行调整。SQL 优化是提升性能的关键,包括索引优化、查询优化和批量操作等。数据库服务器的配置和维护也是不可忽视的环节,需要根据硬件配置和应用负载进行调整。

weixin_41455464的博客 908

Cadence PCB仿真 使用Allegro PCB SI为BRD文件创建通用型IBIS模型的方法图文教程

本文简单介绍使用Allegro PCB SI软件为BRD PCB设计文件中的元器件创建IBIS模型的方法。

fydar的博客 2168

BMP390L数字大气压传感器原理图设计,已量产(压力传感器)

在工业设备的室内定位、地下设施监测这类 GPS 信号盲区场景里,气压高度检测的 “靠谱程度” 直接决定了系统的可用性 —— 毕竟谁也不想在地下停车场导航时,设备把 1 楼误判成 3 楼。最近在项目里基于博世 BMP390L 做了硬件电路设计,正好聊聊这款工业级数字气压传感器的硬实力,以及原理图里的那些关键设计细节。

不脱发的程序猿 348
上一篇: 算法--Z 字形变换
下一篇: 算法--回文数
CodersCoder
博客等级 码龄10年 90粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值