博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot+postgresql+docker实例
阅读量:6870 次
发布时间:2019-06-26

本文共 3668 字,大约阅读时间需要 12 分钟。

postgresql

postgresql:  image: "postgres:9.4"  volumes_from:    - postgresql_data  environment:      POSTGRES_PASSWORD: mypwd #set default password for postgres  ports:    - 5432:5432postgresql_data:  image: cogniteev/echo  command: echo 'Data Container for PostgreSQL'  volumes:    - /var/lib/postgresql/data
  • mac client

clipboard.png

查看

clipboard.png

postgrest

postgrest:  build: postgrest/  ports:    - 3000:3000  links:    - postgresql  restart: always  environment:    - POSTGRES_DB_NAME=postgres ##default database postgres, default user name postgres    - POSTGRES_ADDRESS=postgresql    - POSTGRES_PORT=5432    - POSTGRES_PASSWORD=mypwd

访问

:3000/app_user
:3000/app_user?select=username
:3000/app_user?username=eq.hello1

springboot

  • pom
postgresql
postgresql
9.1-901-1.jdbc4
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-data-rest
  • application.yml
spring:  jpa:    database: POSTGRESQL    show-sql: true    hibernate.ddl-auto: update  database:    driverClassName: org.postgresql.Driver  datasource:    platform: postgres    url: jdbc:postgresql://postgresql:5432/postgres    username: postgres    password: mypwd
  • configuration
@Configuration@EnableJpaRepositories(basePackages = "com.codecraft.dao")@EnableAutoConfiguration@EntityScan(basePackages = {"com.codecraft.domain"})public class JpaConfiguration {}
  • domain
import javax.persistence.*;@Entitypublic class AppUser {    @Id    @GeneratedValue(strategy = GenerationType.AUTO)    @Column(name = "id", nullable = false)    private Long id;    @Column(name = "username", nullable = false)    private String username;    public AppUser() {    }    public AppUser(String username) {        this.username = username;    }    public AppUser(long id, String username) {        this.id = id;        this.username = username;    }    public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    @Override    public String toString() {        return "User{" +                "id=" + id +                ", username='" + username + '\'' +                '}';    }}
  • dao
import com.codecraft.domain.AppUser;import org.springframework.data.repository.CrudRepository;import org.springframework.stereotype.Repository;@Repositorypublic interface UserRepository extends CrudRepository
{}
  • controller
@RestController@RequestMapping(value = "/product", produces = MediaType.APPLICATION_JSON_VALUE)public class ProductUserController {    @Autowired    UserRepository userRepository;    @RequestMapping(value = "/user/{username}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)    public AppUser create(@PathVariable String username) {        return userRepository.save(new AppUser(username));    }    @RequestMapping(value = "/user", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)    public List
findAll() { final List
resultList = new ArrayList<>(); final Iterable
all = userRepository.findAll(); all.forEach(new Consumer
() { @Override public void accept(AppUser appUser) { resultList.add(appUser); } }); return resultList; }}

参考

转载地址:http://tepfl.baihongyu.com/

你可能感兴趣的文章
谈谈公司内部的技术分享
查看>>
Nginx与Apache工作方式
查看>>
屏蔽响应事件继续向父视图传递的category
查看>>
Java内存模型FAQ(八)Final字段如何改变它们的值
查看>>
Maven使用笔记(四)pom.xml配置详解
查看>>
RMAN备份失败: ORA-19502 & ORA-27072: File I/O error
查看>>
Linux Socket学习--地址转换函数
查看>>
高可用Hadoop平台-Hue In Hadoop
查看>>
Java虚拟机详解03----常用JVM配置参数
查看>>
设计模式[9]-Template Method
查看>>
基于服务型特征,诚心求经,互利共嬴
查看>>
知其然而所以然:Operating System 概述和学习图
查看>>
JHChainableAnimations
查看>>
【Oracle】sqlplus 遇到共享库权限不足
查看>>
用字典给Model赋值并支持map键值替换
查看>>
PHP 之 Laravel 框架安装及相关开源软件
查看>>
(一二〇)抽象数据类型
查看>>
AmazeUi基础技能的学习(一)
查看>>
MySQL源码:Range和Ref优化的成本评估
查看>>
Share volume between machines
查看>>