#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: 'com.fasterxml.jackson.module', name: 'jackson-module-afterburner'
|
||||
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'
|
||||
|
||||
|
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
|
||||
# Available levels are: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
|
||||
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