aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/server/TagQueries.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2016-01-15 12:50:52 +0300
committerGravatar Vitaly Takmazov2016-01-15 12:50:52 +0300
commit9bd8a41c0db5a1027a184facfca8d0152945c078 (patch)
tree68266d02923cf3b7a5ab867b0cd26927eb6e4a18 /src/main/java/com/juick/server/TagQueries.java
parent7248c94dfd3fecda1c854e09731592a03a79ca31 (diff)
spring-jdbc WIP
Diffstat (limited to 'src/main/java/com/juick/server/TagQueries.java')
-rw-r--r--src/main/java/com/juick/server/TagQueries.java63
1 files changed, 23 insertions, 40 deletions
diff --git a/src/main/java/com/juick/server/TagQueries.java b/src/main/java/com/juick/server/TagQueries.java
index 1c5e27d1..076019ff 100644
--- a/src/main/java/com/juick/server/TagQueries.java
+++ b/src/main/java/com/juick/server/TagQueries.java
@@ -18,6 +18,8 @@
package com.juick.server;
import com.juick.Tag;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
import java.sql.Connection;
import java.sql.PreparedStatement;
@@ -28,6 +30,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.springframework.jdbc.support.GeneratedKeyHolder;
+import org.springframework.jdbc.support.KeyHolder;
/**
*
@@ -61,26 +65,15 @@ public class TagQueries {
return ret;
}
- public static com.juick.Tag getTag(Connection sql, String tag, boolean autoCreate) {
- com.juick.Tag ret = null;
-
- PreparedStatement stmt = null;
- ResultSet rs = null;
- try {
- stmt = sql.prepareStatement("SELECT tag_id,synonym_id,name FROM tags WHERE name=?");
- stmt.setString(1, tag);
- rs = stmt.executeQuery();
- if (rs.first()) {
- ret = new com.juick.Tag();
- ret.TID = rs.getInt(1);
- ret.SynonymID = rs.getInt(2);
- ret.Name = rs.getString(3);
- }
- } catch (SQLException e) {
- logger.log(Level.SEVERE, "sql exception", e);
- } finally {
- Utils.finishSQL(rs, stmt);
- }
+ public static com.juick.Tag getTag(JdbcTemplate sql, String tag, boolean autoCreate) {
+ Tag ret = sql.queryForObject("SELECT tag_id,synonym_id,name FROM tags WHERE name=?",
+ new Object[]{tag}, (rs, rowNum) -> {
+ Tag ret1 = new Tag();
+ ret1.TID = rs.getInt(1);
+ ret1.SynonymID = rs.getInt(2);
+ ret1.Name = rs.getString(3);
+ return ret1;
+ });
if (ret == null && autoCreate) {
ret = new com.juick.Tag();
@@ -91,7 +84,7 @@ public class TagQueries {
return ret;
}
- public static List<com.juick.Tag> getTags(Connection sql, String[] tags, boolean autoCreate) {
+ public static List<com.juick.Tag> getTags(JdbcTemplate sql, String[] tags, boolean autoCreate) {
List<Tag> ret = new ArrayList<>();
for (String tag : tags) {
@@ -127,26 +120,16 @@ public class TagQueries {
return ret;
}
- public static int createTag(Connection sql, String name) {
- int ret = 0;
+ public static int createTag(JdbcTemplate sql, String name) {
+ KeyHolder holder = new GeneratedKeyHolder();
+ sql.update(con -> {
+ PreparedStatement stmt = con.prepareStatement("INSERT INTO tags(name) VALUES (?)",
+ Statement.RETURN_GENERATED_KEYS);
+ stmt.setString(1, name);
+ return stmt;
+ }, holder);
- PreparedStatement stmt = null;
- ResultSet rs = null;
- try {
- stmt = sql.prepareStatement("INSERT INTO tags(name) VALUES (?)", Statement.RETURN_GENERATED_KEYS);
- stmt.setString(1, name);
- stmt.executeUpdate();
- rs = stmt.getGeneratedKeys();
- if (rs.first()) {
- ret = rs.getInt(1);
- }
- } catch (SQLException e) {
- logger.log(Level.SEVERE, "sql exception", e);
- } finally {
- Utils.finishSQL(rs, stmt);
- }
-
- return ret;
+ return holder.getKey().intValue();
}
public static List<com.juick.Tag> getUserTagsAll(Connection sql, int uid) {