diff options
author | 2011-12-24 23:05:48 +0700 | |
---|---|---|
committer | 2011-12-24 23:05:48 +0700 | |
commit | 55f03c70caeec32ae71e5afe99c4eae5b6b192d3 (patch) | |
tree | d41b64e9e28efa4692cbb5b594c5ef04f09839f2 /src/com/juick/server/TagQueries.java |
Initial commit
Diffstat (limited to 'src/com/juick/server/TagQueries.java')
-rw-r--r-- | src/com/juick/server/TagQueries.java | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/com/juick/server/TagQueries.java b/src/com/juick/server/TagQueries.java new file mode 100644 index 00000000..8cb7ee1a --- /dev/null +++ b/src/com/juick/server/TagQueries.java @@ -0,0 +1,68 @@ +/* + * Juick + * Copyright (C) 2008-2011, Ugnich Anton + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package com.juick.server; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +/** + * + * @author Ugnich Anton + */ +public class TagQueries { + + public static int getTagID(Connection sql, String tag, boolean autoCreate) { + int tid = 0; + + PreparedStatement stmt = null; + ResultSet rs = null; + try { + stmt = sql.prepareStatement("SELECT tag_id FROM tags WHERE name=?"); + stmt.setString(1, tag); + rs = stmt.executeQuery(); + if (rs.first()) { + tid = rs.getInt(1); + } + } catch (SQLException e) { + System.err.println(e); + } finally { + Utils.finishSQL(rs, stmt); + } + + if (tid == 0 && autoCreate) { + try { + stmt = sql.prepareStatement("INSERT INTO tags(name) VALUES (?)", Statement.RETURN_GENERATED_KEYS); + stmt.setString(1, tag); + stmt.executeUpdate(); + rs = stmt.getGeneratedKeys(); + if (rs.first()) { + tid = rs.getInt(1); + } + } catch (SQLException e) { + System.err.println(e); + } finally { + Utils.finishSQL(rs, stmt); + } + } + + return tid; + } +} |