Skip to content

Commit 19d6a47

Browse files
phasenraum2010phasenraum2010
authored andcommitted
JPA with PostgreSQL
1 parent 1db6970 commit 19d6a47

File tree

10 files changed

+171
-27
lines changed

10 files changed

+171
-27
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.woehlke.learn.learnneo4j.common;
2+
3+
import java.io.Serializable;
4+
5+
public interface JpaService<T, ID extends Serializable> extends PagingAndSortingService<T, ID> {
6+
7+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.woehlke.learn.learnneo4j.common;
2+
3+
import org.springframework.data.jpa.repository.JpaRepository;
4+
5+
import java.io.Serializable;
6+
7+
8+
public abstract class JpaServiceImpl<T, ID extends Serializable> extends PagingAndSortingServiceImpl<T, ID> implements JpaService<T, ID> {
9+
10+
protected JpaServiceImpl(JpaRepository<T,ID> repository){
11+
super(repository);
12+
}
13+
14+
protected JpaRepository<T, ID> getRepository(){
15+
return (JpaRepository) super.getRepository();
16+
}
17+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package org.woehlke.learn.learnneo4j.components.db;
2+
3+
import lombok.Getter;
4+
import lombok.Setter;
5+
6+
import javax.persistence.*;
7+
import javax.validation.constraints.NotEmpty;
8+
9+
@Setter
10+
@Getter
11+
@Entity
12+
public class Portinfo {
13+
14+
@Id
15+
@GeneratedValue
16+
private Long id;
17+
18+
@NotEmpty
19+
@Column(unique = true)
20+
private String port;
21+
private String version;
22+
private String category;
23+
private String variants;
24+
private String description;
25+
private String homepage;
26+
private String license;
27+
private String maintainers;
28+
private String platforms;
29+
30+
@Lob
31+
private String info;
32+
33+
@Lob
34+
private String deps;
35+
36+
@Lob
37+
private String rdeps;
38+
39+
@Lob
40+
private String dependents;
41+
42+
@Lob
43+
private String variantsInDetail;
44+
45+
@Lob
46+
private String portfile;
47+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package org.woehlke.learn.learnneo4j.components.db;
2+
3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.stereotype.Controller;
7+
import org.springframework.ui.Model;
8+
import org.springframework.web.bind.annotation.GetMapping;
9+
import org.springframework.web.bind.annotation.ModelAttribute;
10+
import org.springframework.web.bind.annotation.RequestMapping;
11+
import org.woehlke.learn.learnneo4j.model.platform.PlatformController;
12+
13+
@Controller
14+
@RequestMapping("/db/Portinfo/")
15+
public class PortinfoController {
16+
17+
private static Logger log = LoggerFactory.getLogger(PlatformController.class.getName());
18+
19+
@ModelAttribute("title")
20+
public String getTitle(){
21+
return "Portinfo";
22+
}
23+
24+
@GetMapping("all")
25+
public String greeting(Model model) {
26+
model.addAttribute("all", portinfoService.findAll());
27+
log.info("db/portinfo/all");
28+
return "db/portinfo/all";
29+
}
30+
31+
private final PortinfoService portinfoService;
32+
33+
@Autowired
34+
public PortinfoController(PortinfoService portinfoService) {
35+
this.portinfoService = portinfoService;
36+
}
37+
38+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package org.woehlke.learn.learnneo4j.components.db;
2+
3+
import org.springframework.data.jpa.repository.JpaRepository;
4+
import org.springframework.stereotype.Repository;
5+
6+
@Repository
7+
public interface PortinfoRepository extends JpaRepository<Portinfo,Long> {
8+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.woehlke.learn.learnneo4j.components.db;
2+
3+
import org.woehlke.learn.learnneo4j.common.JpaService;
4+
5+
public interface PortinfoService extends JpaService<Portinfo, Long> {
6+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.woehlke.learn.learnneo4j.components.db;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.stereotype.Service;
5+
import org.woehlke.learn.learnneo4j.common.JpaServiceImpl;
6+
7+
@Service
8+
public class PortinfoServiceImpl extends JpaServiceImpl<Portinfo, Long> implements PortinfoService {
9+
10+
@Autowired
11+
public PortinfoServiceImpl(PortinfoRepository portinfoRepository) {
12+
super(portinfoRepository);
13+
}
14+
15+
protected PortinfoRepository getRepository(){
16+
return (PortinfoRepository) super.getRepository();
17+
}
18+
}
19+

src/main/java/org/woehlke/learn/learnneo4j/components/jpa/Portinfo.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

src/main/resources/application.properties

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ spring.data.web.pageable.max-page-size=200
77
spring.data.web.pageable.page-parameter=page
88
spring.data.web.pageable.size-parameter=size
99
spring.datasource.url=jdbc:postgresql://localhost:5432/learn-neo4j
10-
spring.datasource.data-password=jdbcpwd
11-
spring.datasource.data-username=jdbc
10+
spring.datasource.username=jdbc
11+
spring.datasource.password=jdbcpwd
1212
spring.datasource.driver-class-name=org.postgresql.Driver
13-
spring.data.jpa.repositories.enabled=false
13+
spring.data.jpa.repositories.enabled=true
1414
spring.dao.exceptiontranslation.enabled=true
1515
spring.datasource.generate-unique-name=true
1616
spring.datasource.name=Learnneo4jDS
1717
spring.datasource.type=org.postgresql.jdbc3.Jdbc3PoolingDataSource
1818
# Disable feature detection by this undocumented parameter. Check the org.hibernate.engine.jdbc.internal.JdbcServiceImpl.configure method for more details.
1919
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
2020
# Because detection is disabled you have to set correct dialect by hand.
21-
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect
21+
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect
22+
spring.jpa.hibernate.ddl-auto=create-drop
23+
spring.jpa.properties.hibernate.globally_quoted_identifiers=true
24+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!doctype html>
2+
<html xmlns:th="http://www.thymeleaf.org" lang="en">
3+
<head th:insert="template :: tw_head">
4+
<title th:replace="${title}">Nodes</title>
5+
</head>
6+
<body th:insert="template :: tw_body">
7+
8+
<div class="container" th:replace="tw_main_app">
9+
<!-- Example row of columns -->
10+
<div class="row">
11+
<div class="col-md-12">
12+
<h2>All Portinfos:</h2>
13+
<hr/>
14+
<ul th:each="item : ${all}">
15+
<li th:text="${item.name}" />
16+
</ul>
17+
</div>
18+
</div>
19+
</div>
20+
21+
</body>
22+
</html>

0 commit comments

Comments
 (0)