#4 -- Add database connection and repository example
This commit is contained in:
parent
f04973ef88
commit
219400614a
@ -50,6 +50,8 @@ dependencies {
|
|||||||
compile group: 'org.springframework.boot', name: 'spring-boot-starter-jetty'
|
compile group: 'org.springframework.boot', name: 'spring-boot-starter-jetty'
|
||||||
compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-afterburner'
|
compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-afterburner'
|
||||||
compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-hibernate5'
|
compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-hibernate5'
|
||||||
|
compile group: 'org.springframework.boot', name: 'spring-boot-starter-jdbc'
|
||||||
|
compile group: 'org.postgresql', name: 'postgresql', version: '9.4.1212'
|
||||||
|
|
||||||
compile group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
|
compile group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
|
||||||
|
|
||||||
|
42
src/main/java/ru/ulstu/extractor/db/CommitRepository.java
Normal file
42
src/main/java/ru/ulstu/extractor/db/CommitRepository.java
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
package ru.ulstu.extractor.db;
|
||||||
|
|
||||||
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
|
import org.springframework.jdbc.core.RowMapper;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
import ru.ulstu.extractor.Commit;
|
||||||
|
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public class CommitRepository {
|
||||||
|
private final static String SQL_SELECT_COMMITS = "SELECT * FROM commit";
|
||||||
|
private final static String SQL_INSERT_COMMITS = "INSERT INTO commit (hash, date, author, message) " +
|
||||||
|
"VALUES (?, ?, ?, ?)";
|
||||||
|
private final JdbcTemplate jdbcTemplate;
|
||||||
|
|
||||||
|
public CommitRepository(JdbcTemplate jdbcTemplate) {
|
||||||
|
this.jdbcTemplate = jdbcTemplate;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class CommitRowMapper implements RowMapper<Commit> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Commit mapRow(ResultSet rs, int rowNum) throws SQLException {
|
||||||
|
return new Commit(rs.getString("message"),
|
||||||
|
rs.getString("author"),
|
||||||
|
rs.getDate("date"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Commit> getCommits() {
|
||||||
|
return jdbcTemplate.query(SQL_SELECT_COMMITS, new CommitRowMapper());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void saveCommit(Commit commit) {
|
||||||
|
jdbcTemplate.update(SQL_INSERT_COMMITS, "", commit.getDate(),
|
||||||
|
commit.getAuthor(),
|
||||||
|
commit.getMessage());
|
||||||
|
}
|
||||||
|
}
|
@ -2,4 +2,9 @@ spring.main.banner-mode=off
|
|||||||
server.port=8080
|
server.port=8080
|
||||||
# Available levels are: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
|
# Available levels are: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
|
||||||
logging.level.ru.ulstu=DEBUG
|
logging.level.ru.ulstu=DEBUG
|
||||||
extractor.custom-projects-dir=
|
extractor.custom-projects-dir=
|
||||||
|
# JPA Settings
|
||||||
|
spring.datasource.url=jdbc:postgresql://localhost:5432/repo
|
||||||
|
spring.datasource.username=postgres
|
||||||
|
spring.datasource.password=postgres
|
||||||
|
spring.datasource.driverclassName=org.postgresql.Driver
|
Loading…
Reference in New Issue
Block a user