aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/queue/QueueDao.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/queue/QueueDao.java')
-rw-r--r--src/main/java/io/trygvis/queue/QueueDao.java47
1 files changed, 28 insertions, 19 deletions
diff --git a/src/main/java/io/trygvis/queue/QueueDao.java b/src/main/java/io/trygvis/queue/QueueDao.java
index 63dde2a..2f69e11 100644
--- a/src/main/java/io/trygvis/queue/QueueDao.java
+++ b/src/main/java/io/trygvis/queue/QueueDao.java
@@ -1,36 +1,45 @@
package io.trygvis.queue;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Component;
-
+import java.sql.Connection;
+import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import static org.springframework.dao.support.DataAccessUtils.singleResult;
-
-@Component
public class QueueDao {
- @Autowired
- private JdbcTemplate jdbcTemplate;
+ private final Connection connection;
- public Queue findByName(String name) {
- return singleResult(jdbcTemplate.query("SELECT name, interval FROM queue WHERE name=?", new QueueRowMapper(), name));
+ public QueueDao(Connection connection) {
+ this.connection = connection;
}
- public void insert(Queue q) {
- jdbcTemplate.update("INSERT INTO queue(name, interval) VALUES(?, ?)", q.name, q.interval);
+ public Queue findByName(String name) throws SQLException {
+ try (PreparedStatement stmt = connection.prepareStatement("SELECT name, interval FROM queue WHERE name=?")) {
+ stmt.setString(1, name);
+ ResultSet rs = stmt.executeQuery();
+ return rs.next() ? mapRow(rs) : null;
+ }
}
- public void update(Queue q) {
- jdbcTemplate.update("UPDATE queue SET interval=? WHERE name=?", q.interval, q.name);
+ public void insert(Queue q) throws SQLException {
+ try (PreparedStatement stmt = connection.prepareStatement("INSERT INTO queue(name, interval) VALUES(?, ?)")) {
+ int i = 1;
+ stmt.setString(i++, q.name);
+ stmt.setLong(i, q.interval);
+ stmt.executeUpdate();
+ }
}
- private class QueueRowMapper implements RowMapper<Queue> {
- public Queue mapRow(ResultSet rs, int rowNum) throws SQLException {
- return new Queue(rs.getString(1), rs.getLong(2));
+ public void update(Queue q) throws SQLException {
+ try (PreparedStatement stmt = connection.prepareStatement("UPDATE queue SET interval=? WHERE name=?")) {
+ int i = 1;
+ stmt.setLong(i++, q.interval);
+ stmt.setString(i, q.name);
+ stmt.executeUpdate();
}
}
+
+ public Queue mapRow(ResultSet rs) throws SQLException {
+ return new Queue(rs.getString(1), rs.getLong(2));
+ }
}