📄 groupsdaoimpljdbc.java
字号:
statement.setTimestamp(3, groupModifiedDate);
// primary key column(s)
statement.setInt(4, groupID);
if (statement.executeUpdate() != 1) {
throw new ObjectNotFoundException("Cannot update table Groups where primary key = (" + groupID + ").");
}
m_dirty = true;
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in GroupsDAOImplJDBC.update.");
} finally {
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
/*
* Included columns: GroupOwnerID, GroupOwnerName, GroupModifiedDate
* Excluded columns: GroupID, GroupName, GroupDesc, GroupOption, GroupCreationDate
*/
public void updateOwner(int groupID, // primary key
String groupOwnerName, Timestamp groupModifiedDate)
throws ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException {
int groupOwnerID = 0;//MUST init to 0
//GroupsBean bean = getGroup(groupID); // @todo: comment or delete this line if no alternate key are included
try {
// @todo: modify the parameter list as needed
// If this method does not change the foreign key columns, you can comment this block of code.
groupOwnerID = 0;
if ((groupOwnerName!=null) && (groupOwnerName.length()>0)) {// have group owner
DAOFactory.getMemberDAO().findByAlternateKey_MemberName(groupOwnerName);
try {
groupOwnerID = DAOFactory.getMemberDAO().getMemberIDFromMemberName(groupOwnerName);
} catch (ObjectNotFoundException ex) {
// This exception should never be thrown
throw new ObjectNotFoundException("ASSERTION: This should never happen.");
}
}
} catch(ObjectNotFoundException e) {
throw new ForeignKeyNotFoundException("Foreign key refers to table 'Member' does not exist. Cannot update table 'Groups'.");
}
Connection connection = null;
PreparedStatement statement = null;
StringBuffer sql = new StringBuffer(512);
sql.append("UPDATE " + TABLE_NAME + " SET GroupOwnerID = ?, GroupOwnerName = ?, GroupModifiedDate = ?");
sql.append(" WHERE GroupID = ?");
try {
connection = DBUtils.getConnection();
statement = connection.prepareStatement(sql.toString());
// // column(s) to update
statement.setInt(1, groupOwnerID);
statement.setString(2, groupOwnerName);
statement.setTimestamp(3, groupModifiedDate);
// primary key column(s)
statement.setInt(4, groupID);
if (statement.executeUpdate() != 1) {
throw new ObjectNotFoundException("Cannot update table Groups where primary key = (" + groupID + ").");
}
m_dirty = true;
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in GroupsDAOImplJDBC.updateOwner.");
} finally {
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
/*
* Included columns: GroupOwnerID, GroupOwnerName, GroupName, GroupDesc, GroupOption,
* GroupCreationDate, GroupModifiedDate
* Excluded columns: GroupID
*/
public GroupsBean getGroup(int groupID)
throws ObjectNotFoundException, DatabaseException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
StringBuffer sql = new StringBuffer(512);
sql.append("SELECT GroupOwnerID, GroupOwnerName, GroupName, GroupDesc, GroupOption, GroupCreationDate, GroupModifiedDate");
sql.append(" FROM " + TABLE_NAME);
sql.append(" WHERE GroupID = ?");
try {
connection = DBUtils.getConnection();
statement = connection.prepareStatement(sql.toString());
statement.setInt(1, groupID);
resultSet = statement.executeQuery();
if(!resultSet.next()) {
throw new ObjectNotFoundException("Cannot find the row in table Groups where primary key = (" + groupID + ").");
}
GroupsBean bean = new GroupsBean();
bean.setGroupID(groupID);
bean.setGroupOwnerID(resultSet.getInt("GroupOwnerID"));
bean.setGroupOwnerName(resultSet.getString("GroupOwnerName"));
bean.setGroupName(resultSet.getString("GroupName"));
bean.setGroupDesc(resultSet.getString("GroupDesc"));
bean.setGroupOption(resultSet.getInt("GroupOption"));
bean.setGroupCreationDate(resultSet.getTimestamp("GroupCreationDate"));
bean.setGroupModifiedDate(resultSet.getTimestamp("GroupModifiedDate"));
return bean;
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in GroupsDAOImplJDBC.getGroup(pk).");
} finally {
DBUtils.closeResultSet(resultSet);
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
public Collection getMyGroups(int memberID)
throws DatabaseException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
StringBuffer sql = new StringBuffer(512);
ArrayList retValue = new ArrayList();
sql.append("SELECT g.GroupID, g.GroupName, g.GroupDesc, GroupOption, GroupCreationDate, GroupModifiedDate");
sql.append(" FROM " + TABLE_NAME).append(" g, ").append(MemberGroupDAO.TABLE_NAME).append(" mg");
sql.append(" WHERE (g.GroupID = mg.GroupID) AND (mg.MemberID = ?)");
sql.append(" ORDER BY g.GroupID ASC");
try {
connection = DBUtils.getConnection();
statement = connection.prepareStatement(sql.toString());
statement.setInt(1, memberID);
resultSet = statement.executeQuery();
while(resultSet.next()) {
GroupsBean bean = new GroupsBean();
bean.setGroupID(resultSet.getInt("GroupID"));
bean.setGroupName(resultSet.getString("GroupName"));
bean.setGroupDesc(resultSet.getString("GroupDesc"));
bean.setGroupOption(resultSet.getInt("GroupOption"));
bean.setGroupCreationDate(resultSet.getTimestamp("GroupCreationDate"));
bean.setGroupModifiedDate(resultSet.getTimestamp("GroupModifiedDate"));
retValue.add(bean);
}
return retValue;
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in GroupsDAOImplJDBC.getMyGroups(memberID).");
} finally {
DBUtils.closeResultSet(resultSet);
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
/*
* Included columns: GroupID, GroupOwnerID, GroupOwnerName, GroupName, GroupDesc,
* GroupOption, GroupCreationDate, GroupModifiedDate
* Excluded columns:
*/
public Collection getGroups()
throws DatabaseException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
Collection retValue = new ArrayList();
StringBuffer sql = new StringBuffer(512);
sql.append("SELECT GroupID, GroupOwnerID, GroupOwnerName, GroupName, GroupDesc, GroupOption, GroupCreationDate, GroupModifiedDate");
sql.append(" FROM " + TABLE_NAME);
//sql.append(" WHERE "); // @todo: uncomment as needed
//minhnn: @todo: it should be GroupID, not GroupName
sql.append(" ORDER BY GroupID ASC");// must sort be id to show number of members in group
try {
connection = DBUtils.getConnection();
statement = connection.prepareStatement(sql.toString());
resultSet = statement.executeQuery();
while (resultSet.next()) {
GroupsBean bean = new GroupsBean();
bean.setGroupID(resultSet.getInt("GroupID"));
bean.setGroupOwnerID(resultSet.getInt("GroupOwnerID"));
bean.setGroupOwnerName(resultSet.getString("GroupOwnerName"));
bean.setGroupName(resultSet.getString("GroupName"));
bean.setGroupDesc(resultSet.getString("GroupDesc"));
bean.setGroupOption(resultSet.getInt("GroupOption"));
bean.setGroupCreationDate(resultSet.getTimestamp("GroupCreationDate"));
bean.setGroupModifiedDate(resultSet.getTimestamp("GroupModifiedDate"));
retValue.add(bean);
}
return retValue;
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in GroupsDAOImplJDBC.getBeans.");
} finally {
DBUtils.closeResultSet(resultSet);
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
public int getNumberOfGroups()
throws AssertionException, DatabaseException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
StringBuffer sql = new StringBuffer(512);
sql.append("SELECT Count(*)");
sql.append(" FROM " + TABLE_NAME);
//sql.append(" WHERE "); // @todo: uncomment as needed
try {
connection = DBUtils.getConnection();
statement = connection.prepareStatement(sql.toString());
resultSet = statement.executeQuery();
if (!resultSet.next()) {
throw new AssertionException("Assertion in GroupsDAOImplJDBC.getNumberOfGroups.");
}
return resultSet.getInt(1);
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in GroupsDAOImplJDBC.getNumberOfGroups.");
} finally {
DBUtils.closeResultSet(resultSet);
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
/************************************************
* Customized methods come below
************************************************/
/* @todo check if this method work with other DBMS other than MySql (check case-sensitive) */
public int getGroupIDFromGroupName(String groupName)
throws ObjectNotFoundException, DatabaseException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
String sql = "SELECT GroupID FROM " + TABLE_NAME + " WHERE GroupName = ?";
try {
connection = DBUtils.getConnection();
statement = connection.prepareStatement(sql);
statement.setString(1, groupName);
resultSet = statement.executeQuery();
if(!resultSet.next()) {
throw new ObjectNotFoundException("Cannot find the row in table Group where GroupName = " + groupName);
}
return resultSet.getInt(1);
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in GroupsDAOImplJDBC.getGroupIDFromGroupName.");
} finally {
DBUtils.closeResultSet(resultSet);
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
}// end of class GroupsDAOImplJDBC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -