ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

如何将Java Spring Boot应用程序连接到Postgres DB docker

2023-08-01 16:34:16  阅读:180  来源: 互联网

标签:Docker Postgres 编程


Docker

在第,你需要让docker在你的机器上运行。

Docker桌面

Docker Desktop可以在Mac、Windows或Linux操作系统上免费下载。开始使用Docker...

www.docker.com

弹簧靴

前往https://start.spring.io/获取一些java spring boot样板代码。

您需要选择以下依赖项:

  1. 春季网站
  2. Postgres SQL驱动程序
  3. 春季数据JPA

在属性文件中添加以下配置:

spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=mysecretpassword
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

添加具有以下界面的存储库包:

@Repository
公共接口LocationRepository扩展了JpaRepository<Location, Long> {
}

添加以下类:

公共接口LocationService {
    List<Location> getLocations();
}
@组件
公共类LocationServiceImpl实现LocationService {
    私有LocationRepository存储库;

    @Autowired
    public LocationServiceImpl(LocationRepository存储库){
        this.repository = 存储库;
}

    @Override
    公共列表<位置> getLocations() {
        返回 repository.findAll();
}
}

一旦您拥有了定位服务和存储库,我们就可以开始创建控制器了

@RestController
公共类LocationController {

    私人位置服务服务;

    @Autowired
    公共位置控制器(LocationService服务){
        this.service = 服务;
}

    @GetMapping("/locations")
    公共列表<位置> getLocations(){
        return service.getLocations();
}
}

现在我们准备好运行我们的应用程序了。使用您的浏览器前往下面的端点。

http://localhost:8080/locations

一旦您的应用程序启动并运行,您将看不到任何数据。因此,我们需要创建一个表格,并在postgres中添加一些数据。

首先,您需要连接到您的postgres数据库。在本文中,我们使用PGAdmin:

下载

pgAdmin - 适用于Windows、Mac、Linux和Web的PostgreSQL工具

www.pgadmin.org

一旦我们安装了,PGAdmin,我们应该能够连接到postgres db

 

一旦我们连接到我们的数据库,请使用以下脚本来创建我们的表格和数据。

创建表位置(
id int,
名字varchar
)
插入public.location(
身份证,姓名)
 值(1,“南非”);

现在,当我们前往端点时,我们应该看到存储在表上的数据。

标签:Docker,Postgres,编程
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有