1 package org.mvnforum.phpbb2mvnforum.db.jdbc; 2 3 import java.sql.Connection ; 4 import java.sql.PreparedStatement ; 5 import java.sql.ResultSet ; 6 import java.sql.SQLException ; 7 import java.util.ArrayList ; 8 import java.util.Collection ; 9 10 import net.myvietnam.mvncore.exception.DatabaseException; 11 import net.myvietnam.mvncore.exception.ObjectNotFoundException; 12 13 import org.mvnforum.phpbb2mvnforum.db.PhpbbGroup; 14 import org.mvnforum.phpbb2mvnforum.db.PhpbbGroupDAO; 15 import org.mvnforum.util.DBUtils; 16 17 public class PhpbbGroupDAOImpl implements PhpbbGroupDAO { 18 19 public Collection getBeans() 20 throws DatabaseException { 21 Connection connection = null; 22 PreparedStatement statement = null; 23 ResultSet resultSet = null; 24 Collection retValue = new ArrayList (); 25 StringBuffer sql = new StringBuffer (512); 26 sql.append("SELECT group_id, group_type, group_name, group_description, group_moderator, group_single_user"); 27 sql.append(" FROM " + TABLE_NAME); 28 try { 31 connection = DBUtils.getPhpbbConnection(); 32 statement = connection.prepareStatement(sql.toString()); 33 resultSet = statement.executeQuery(); 34 while (resultSet.next()) { 35 PhpbbGroup bean = new PhpbbGroup(); 36 bean.setgroup_id(resultSet.getInt("group_id")); 37 bean.setgroup_type(resultSet.getInt("group_type")); 38 bean.setgroup_name(resultSet.getString("group_name")); 39 bean.setgroup_description(resultSet.getString("group_description")); 40 bean.setgroup_moderator(resultSet.getInt("group_moderator")); 41 bean.setgroup_single_user(resultSet.getInt("group_single_user")); 42 retValue.add(bean); 43 } 44 return retValue; 45 } catch (SQLException sqle) { 46 throw new DatabaseException("Error executing SQL in phpbb_groupsDAOImplJDBC.getBeans."); 47 } finally { 48 DBUtils.closeResultSet(resultSet); 49 DBUtils.closeStatement(statement); 50 DBUtils.closeConnection(connection); 51 } 52 } 53 54 public PhpbbGroup getBean(int groupID) throws ObjectNotFoundException, DatabaseException { 55 Connection connection = null; 56 PreparedStatement statement = null; 57 ResultSet resultSet = null; 58 StringBuffer sql = new StringBuffer (512); 59 sql.append("SELECT group_id, group_type, group_name, group_description, group_moderator, group_single_user"); 60 sql.append(" FROM " + TABLE_NAME); 61 sql.append(" WHERE group_id = ?"); 62 try { 63 connection = DBUtils.getPhpbbConnection(); 64 statement = connection.prepareStatement(sql.toString()); 65 statement.setInt(1, groupID); 66 resultSet = statement.executeQuery(); 67 if(!resultSet.next()) { 68 throw new ObjectNotFoundException("Cannot find the row in table phpbb_groups where primary key = (" + groupID + ")."); 69 } 70 71 PhpbbGroup bean = new PhpbbGroup(); 72 bean.setgroup_id(resultSet.getInt("group_id")); 73 bean.setgroup_type(resultSet.getInt("group_type")); 74 bean.setgroup_name(resultSet.getString("group_name")); 75 bean.setgroup_description(resultSet.getString("group_description")); 76 bean.setgroup_moderator(resultSet.getInt("group_moderator")); 77 bean.setgroup_single_user(resultSet.getInt("group_single_user")); 78 return bean; 79 } catch(SQLException sqle) { 80 throw new DatabaseException("Error executing SQL in phpbb_groupsDAOImplJDBC.getBean(pk)."); 81 } finally { 82 DBUtils.closeResultSet(resultSet); 83 DBUtils.closeStatement(statement); 84 DBUtils.closeConnection(connection); 85 } 86 } 87 88 public PhpbbGroup getTruthGroup(int groupID) 89 throws ObjectNotFoundException, DatabaseException { 90 Connection connection = null; 91 PreparedStatement statement = null; 92 ResultSet resultSet = null; 93 StringBuffer sql = new StringBuffer (512); 94 sql.append("SELECT group_id, group_type, group_name, group_description, group_moderator, group_single_user"); 95 sql.append(" FROM " + TABLE_NAME); 96 sql.append(" WHERE group_id=? and group_single_user=?"); 97 try { 98 connection = DBUtils.getPhpbbConnection(); 99 statement = connection.prepareStatement(sql.toString()); 100 statement.setInt(1, groupID); 101 statement.setInt(2, 0); 102 resultSet = statement.executeQuery(); 103 if(!resultSet.next()) { 104 return null; 106 } 107 108 PhpbbGroup bean = new PhpbbGroup(); 109 bean.setgroup_id(resultSet.getInt("group_id")); 110 bean.setgroup_type(resultSet.getInt("group_type")); 111 bean.setgroup_name(resultSet.getString("group_name")); 112 bean.setgroup_description(resultSet.getString("group_description")); 113 bean.setgroup_moderator(resultSet.getInt("group_moderator")); 114 bean.setgroup_single_user(resultSet.getInt("group_single_user")); 115 return bean; 116 } catch(SQLException sqle) { 117 throw new DatabaseException("Error executing SQL in phpbb_groupsDAOImplJDBC.getBean(pk)."); 118 } finally { 119 DBUtils.closeResultSet(resultSet); 120 DBUtils.closeStatement(statement); 121 DBUtils.closeConnection(connection); 122 } 123 124 } 125 } 126 | Popular Tags |