From 55f03c70caeec32ae71e5afe99c4eae5b6b192d3 Mon Sep 17 00:00:00 2001 From: Ugnich Anton Date: Sat, 24 Dec 2011 23:05:48 +0700 Subject: Initial commit --- src/com/juick/server/TagQueries.java | 68 ++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/com/juick/server/TagQueries.java (limited to 'src/com/juick/server/TagQueries.java') 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 . + */ +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; + } +} -- cgit v1.2.3