/** * 権限を追加します。<br> * 作成には、プロパティr_nameを使用します。<br> * * @return 成功すれば、-1以外が戻ります。 */ public int createRole() { // SQLクエリ結果を保持 int result = -1; // 入力チェック if (!DBCheck.vchar(this.r_name, true)) { return result; } // コネクションを保持 Connection db = null; // プリコンパイルされたSQL文を保持 PreparedStatement ps = null; // 結果セットを保持 ResultSet rs = null; try { // コンテキストの構成 Context ct = new InitialContext(); // 名前付きオブジェクト取得 DataSource ds = (DataSource) ct.lookup("java:comp/env/jdbc/Graduation"); // データベースと接続 db = ds.getConnection(); // SQL文の生成 ps = db.prepareStatement("SELECT r_name FROM role " + "WHERE " + "r_name like ?"); // 値のセット ps.setString(1, this.r_name); // クエリの実行 rs = ps.executeQuery(); // 権限の重複チェック if (!(rs.next())) { // SQL文の生成 ps = db.prepareStatement("INSERT INTO role(" + "r_name" + ") VALUES(" + "?" + ")"); // 値のセット ps.setString(1, this.r_name); // クエリの実行 result = ps.executeUpdate(); } // psオブジェクトの解放 ps.close(); // dbオブジェクトの解放 db.close(); } catch (NamingException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } catch (SQLException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } finally { try { // psオブジェクトの解放確認 if (ps != null) { // psオブジェクトの解放 ps.close(); } // dbオブジェクトの解放確認 if (db != null) { // dbオブジェクトの解放 db.close(); } } catch (SQLException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } } return result; }
/** * 検索に一致する権限の一覧を返します。<br> * 完全一致で検索します。部分一致は「%」を権限名の前後に含めて呼び出してください。 * * @param r_name 検索する権限名 * @return BeansRoleのArrayListが戻ります。 */ public static ArrayList<BeansRole> searchRole(String r_name) { // SQLクエリ結果を保持 ArrayList<BeansRole> result = new ArrayList<BeansRole>(); // 入力チェック if (!DBCheck.vchar(r_name, true)) { return result; } // コネクションを保持 Connection db = null; // プリコンパイルされたSQL文を保持 PreparedStatement ps = null; // 結果セットを保持 ResultSet rs = null; try { // コンテキストの構成 Context ct = new InitialContext(); // 名前付きオブジェクト取得 DataSource ds = (DataSource) ct.lookup("java:comp/env/jdbc/Graduation"); // データベースと接続 db = ds.getConnection(); // SQL文の生成 ps = db.prepareStatement("SELECT * FROM role " + "WHERE r_name like ? " + "ORDER BY r_id ASC"); // 値のセット ps.setString(1, r_name); // クエリの実行 rs = ps.executeQuery(); // 一時クラス BeansRole tmp; // データの読み取り while (rs.next()) { // データを生成 tmp = new BeansRole(); // 代入 tmp.setR_id(rs.getInt("r_id")); tmp.setR_name(rs.getString("r_name")); // データをリストに追加 result.add(tmp); } // psオブジェクトの解放 ps.close(); // dbオブジェクトの解放 db.close(); } catch (NamingException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } catch (SQLException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } finally { try { // psオブジェクトの解放確認 if (ps != null) { // psオブジェクトの解放 ps.close(); } // dbオブジェクトの解放確認 if (db != null) { // dbオブジェクトの解放 db.close(); } } catch (SQLException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } } return result; }
/** * 指定された権限IDの情報を返します。 * * @return BeansRoleが戻ります。 */ public static BeansRole detailRole(int r_id) { // SQLクエリ結果を保持 BeansRole result = new BeansRole(); // 入力チェック if (!DBCheck.number(r_id, true)) { return result; } // コネクションを保持 Connection db = null; // プリコンパイルされたSQL文を保持 PreparedStatement ps = null; // 結果セットを保持 ResultSet rs = null; try { // コンテキストの構成 Context ct = new InitialContext(); // 名前付きオブジェクト取得 DataSource ds = (DataSource) ct.lookup("java:comp/env/jdbc/Graduation"); // データベースと接続 db = ds.getConnection(); // SQL文の生成 ps = db.prepareStatement("SELECT * FROM role " + "WHERE r_id = ?"); // 値のセット ps.setInt(1, r_id); // クエリの実行 rs = ps.executeQuery(); // データの読み取り while (rs.next()) { // 代入 result.setR_id(rs.getInt("r_id")); result.setR_name(rs.getString("r_name")); } // psオブジェクトの解放 ps.close(); // dbオブジェクトの解放 db.close(); } catch (NamingException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } catch (SQLException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } finally { try { // psオブジェクトの解放確認 if (ps != null) { // psオブジェクトの解放 ps.close(); } // dbオブジェクトの解放確認 if (db != null) { // dbオブジェクトの解放 db.close(); } } catch (SQLException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } } return result; }
/** * 権限を削除します。<br> * 引数r_idに削除する権限IDをセットして呼び出してください。 * * @param r_id 削除する権限ID * @return 成功すれば、-1以外が戻ります。 */ public static int deleteRole(int r_id) { // SQLクエリ結果を保持 int result = -1; // 入力チェック if (!DBCheck.number(r_id, true)) { return result; } // コネクションを保持 Connection db = null; // プリコンパイルされたSQL文を保持 PreparedStatement ps = null; try { // コンテキストの構成 Context ct = new InitialContext(); // 名前付きオブジェクト取得 DataSource ds = (DataSource) ct.lookup("java:comp/env/jdbc/Graduation"); // データベースと接続 db = ds.getConnection(); // SQL文の生成 ps = db.prepareStatement("DELETE from role " + "WHERE " + "r_id = ?"); // 値のセット ps.setInt(1, r_id); // クエリの実行 result = ps.executeUpdate(); // psオブジェクトの解放 ps.close(); // dbオブジェクトの解放 db.close(); } catch (NamingException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } catch (SQLException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } finally { try { // psオブジェクトの解放確認 if (ps != null) { // psオブジェクトの解放 ps.close(); } // dbオブジェクトの解放確認 if (db != null) { // dbオブジェクトの解放 db.close(); } } catch (SQLException e) { // 標準エラーストリームへ出力 e.printStackTrace(); } } return result; }