diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-04-30 07:12:56 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-04-30 07:12:56 +0200 |
commit | 0a0b01664cf620f983549999b24a7740594a57d4 (patch) | |
tree | 3a226f4e33ec986f3bae598a547690b3f99e2e8d /src/main/java/io/trygvis/queue/QueueDao.java | |
download | jdbc-queue-0a0b01664cf620f983549999b24a7740594a57d4.tar.gz jdbc-queue-0a0b01664cf620f983549999b24a7740594a57d4.tar.bz2 jdbc-queue-0a0b01664cf620f983549999b24a7740594a57d4.tar.xz jdbc-queue-0a0b01664cf620f983549999b24a7740594a57d4.zip |
Diffstat (limited to 'src/main/java/io/trygvis/queue/QueueDao.java')
-rw-r--r-- | src/main/java/io/trygvis/queue/QueueDao.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/queue/QueueDao.java b/src/main/java/io/trygvis/queue/QueueDao.java new file mode 100644 index 0000000..fcf975f --- /dev/null +++ b/src/main/java/io/trygvis/queue/QueueDao.java @@ -0,0 +1,36 @@ +package io.trygvis.queue; + +import org.springframework.beans.factory.annotation.*; +import org.springframework.jdbc.core.*; +import org.springframework.stereotype.*; + +import java.sql.*; + +import static org.springframework.dao.support.DataAccessUtils.*; + +public class QueueDao { + + private final JdbcTemplate jdbcTemplate; + + public QueueDao(JdbcTemplate jdbcTemplate) { + this.jdbcTemplate = jdbcTemplate; + } + + public Queue findByName(String name) { + return singleResult(jdbcTemplate.query("SELECT name, interval FROM queue WHERE name=?", new QueueRowMapper(), name)); + } + + public void insert(Queue q) { + jdbcTemplate.update("INSERT INTO queue(name, interval) VALUES(?, ?)", q.name, q.interval); + } + + public void update(Queue q) { + jdbcTemplate.update("UPDATE queue SET interval=? WHERE name=?", q.interval, q.name); + } + + private class QueueRowMapper implements RowMapper<Queue> { + public Queue mapRow(ResultSet rs, int rowNum) throws SQLException { + return new Queue(rs.getString(1), rs.getLong(2)); + } + } +} |