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
查看
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.hello1springboot
- 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 ListfindAll() { 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; }}