📄 messagedaoimpljdbc.java
字号:
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
return messageID;
}
public Collection getAllMessages_inMember_inFolder_withSortSupport_limit(int memberID, String folderName, int offset, int rowsToReturn, String sort, String order)
throws IllegalArgumentException, DatabaseException {
if (offset < 0) throw new IllegalArgumentException("The offset < 0 is not allowed.");
if (rowsToReturn <= 0) throw new IllegalArgumentException("The rowsToReturn <= 0 is not allowed.");
if ((!sort.equals("MessageSenderName")) &&
(!sort.equals("MessageTopic")) &&
(!sort.equals("MessageReadStatus")) &&
(!sort.equals("MessageAttachCount")) &&
(!sort.equals("MessageCreationDate")) ) {
throw new IllegalArgumentException("Cannot sort, reason: dont understand the criteria '" + sort + "'.");
}
if ((!order.equals("ASC")) &&
(!order.equals("DESC")) ) {
throw new IllegalArgumentException("Cannot sort, reason: dont understand the order '" + order + "'.");
}
if (DBUtils.getDatabaseType() == DBUtils.DATABASE_MYSQL) {
return getBeans_inMember_inFolder_withSortSupport_limit_mysql(memberID, folderName, offset, rowsToReturn, sort, order, false);
} else if (DBUtils.getDatabaseType() == DBUtils.DATABASE_NOSCROLL) {
return getBeans_inMember_inFolder_withSortSupport_limit_noscroll(memberID, folderName, offset, rowsToReturn, sort, order, false);
}
return getBeans_inMember_inFolder_withSortSupport_limit_general(memberID, folderName, offset, rowsToReturn, sort, order, false);
}
public Collection getNonPublicMessages_inMember_inFolder_withSortSupport_limit(int memberID, String folderName, int offset, int rowsToReturn, String sort, String order)
throws IllegalArgumentException, DatabaseException {
if (offset < 0) throw new IllegalArgumentException("The offset < 0 is not allowed.");
if (rowsToReturn <= 0) throw new IllegalArgumentException("The rowsToReturn <= 0 is not allowed.");
if ((!sort.equals("MessageSenderName")) &&
(!sort.equals("MessageTopic")) &&
(!sort.equals("MessageReadStatus")) &&
(!sort.equals("MessageAttachCount")) &&
(!sort.equals("MessageCreationDate")) ) {
throw new IllegalArgumentException("Cannot sort, reason: dont understand the criteria '" + sort + "'.");
}
if ((!order.equals("ASC")) &&
(!order.equals("DESC")) ) {
throw new IllegalArgumentException("Cannot sort, reason: dont understand the order '" + order + "'.");
}
if (DBUtils.getDatabaseType() == DBUtils.DATABASE_MYSQL) {
return getBeans_inMember_inFolder_withSortSupport_limit_mysql(memberID, folderName, offset, rowsToReturn, sort, order, true);
} else if (DBUtils.getDatabaseType() == DBUtils.DATABASE_NOSCROLL) {
return getBeans_inMember_inFolder_withSortSupport_limit_noscroll(memberID, folderName, offset, rowsToReturn, sort, order, true);
}
return getBeans_inMember_inFolder_withSortSupport_limit_general(memberID, folderName, offset, rowsToReturn, sort, order, true);
}
/*
* Included columns: MessageID, FolderName, MemberID, MessageSenderID, MessageSenderName,
* MessageToList, MessageCcList, MessageBccList, MessageTopic, MessageBody,
* MessageType, MessageOption, MessageStatus, MessageReadStatus, MessageNotify,
* MessageIcon, MessageAttachCount, MessageIP, MessageCreationDate
* Excluded columns:
*/
public Collection getBeans_inMember_inFolder_withSortSupport_limit_mysql(int memberID, String folderName, int offset, int rowsToReturn, String sort, String order, boolean onlyNonPublic)
throws DatabaseException {
// IMPORTANT NOTE: the checking of parameters is moved to method getBeans_inMember_inFolder_withSortSupport_limit
// IF THERE ARE ANY CHANGES HERE, PLEASE MOVE BACK THE CHECKING OF PARAMETERS
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
Collection retValue = new ArrayList();
StringBuffer sql = new StringBuffer(512);
sql.append("SELECT MessageID, FolderName, MemberID, MessageSenderID, MessageSenderName, MessageToList, MessageCcList, MessageBccList, MessageTopic, MessageBody, MessageType, MessageOption, MessageStatus, MessageReadStatus, MessageNotify, MessageIcon, MessageAttachCount, MessageIP, MessageCreationDate");
sql.append(" FROM " + TABLE_NAME);
sql.append(" WHERE MemberID = ?");
sql.append(" AND FolderName = ?");
if (onlyNonPublic) {
sql.append(" AND MessageType <> " + MessageBean.MESSAGE_TYPE_PUBLIC);
}
sql.append(" ORDER BY " + sort + " " + order);// ColumnName, ASC|DESC
sql.append(" LIMIT ?, ?");
try {
connection = DBUtils.getConnection();
statement = connection.prepareStatement(sql.toString());
statement.setInt(1, memberID);
statement.setString(2, folderName);
statement.setInt(3, offset);
statement.setInt(4, rowsToReturn);
resultSet = statement.executeQuery();
while (resultSet.next()) {
MessageBean bean = new MessageBean();
bean.setMessageID(resultSet.getInt("MessageID"));
bean.setFolderName(resultSet.getString("FolderName"));
bean.setMemberID(resultSet.getInt("MemberID"));
bean.setMessageSenderID(resultSet.getInt("MessageSenderID"));
bean.setMessageSenderName(resultSet.getString("MessageSenderName"));
bean.setMessageToList(resultSet.getString("MessageToList"));
bean.setMessageCcList(resultSet.getString("MessageCcList"));
bean.setMessageBccList(resultSet.getString("MessageBccList"));
bean.setMessageTopic(resultSet.getString("MessageTopic"));
bean.setMessageBody(resultSet.getString("MessageBody"));
bean.setMessageType(resultSet.getInt("MessageType"));
bean.setMessageOption(resultSet.getInt("MessageOption"));
bean.setMessageStatus(resultSet.getInt("MessageStatus"));
bean.setMessageReadStatus(resultSet.getInt("MessageReadStatus"));
bean.setMessageNotify(resultSet.getInt("MessageNotify"));
bean.setMessageIcon(resultSet.getString("MessageIcon"));
bean.setMessageAttachCount(resultSet.getInt("MessageAttachCount"));
bean.setMessageIP(resultSet.getString("MessageIP"));
bean.setMessageCreationDate(resultSet.getTimestamp("MessageCreationDate"));
retValue.add(bean);
}
return retValue;
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in MessageDAOImplJDBC.getBeans_inMember_inFolder_withSortSupport_limit_mysql.");
} finally {
DBUtils.closeResultSet(resultSet);
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
/*
* Included columns: MessageID, FolderName, MemberID, MessageSenderID, MessageSenderName,
* MessageToList, MessageCcList, MessageBccList, MessageTopic, MessageBody,
* MessageType, MessageOption, MessageStatus, MessageReadStatus, MessageNotify,
* MessageIcon, MessageAttachCount, MessageIP, MessageCreationDate
* Excluded columns:
*/
public Collection getBeans_inMember_inFolder_withSortSupport_limit_noscroll(int memberID, String folderName, int offset, int rowsToReturn, String sort, String order, boolean onlyNonPublic)
throws DatabaseException {
// IMPORTANT NOTE: the checking of parameters is moved to method getBeans_inMember_inFolder_withSortSupport_limit
// IF THERE ARE ANY CHANGES HERE, PLEASE MOVE BACK THE CHECKING OF PARAMETERS
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
Collection retValue = new ArrayList();
StringBuffer sql = new StringBuffer(512);
sql.append("SELECT MessageID, FolderName, MemberID, MessageSenderID, MessageSenderName, MessageToList, MessageCcList, MessageBccList, MessageTopic, MessageBody, MessageType, MessageOption, MessageStatus, MessageReadStatus, MessageNotify, MessageIcon, MessageAttachCount, MessageIP, MessageCreationDate");
sql.append(" FROM " + TABLE_NAME);
sql.append(" WHERE MemberID = ?");
sql.append(" AND FolderName = ?");
if (onlyNonPublic) {
sql.append(" AND MessageType <> " + MessageBean.MESSAGE_TYPE_PUBLIC);
}
sql.append(" ORDER BY " + sort + " " + order);// ColumnName, ASC|DESC
try {
connection = DBUtils.getConnection();
statement = connection.prepareStatement(sql.toString());
statement.setMaxRows(offset + rowsToReturn);
statement.setInt(1, memberID);
statement.setString(2, folderName);
resultSet = statement.executeQuery();
int rowIndex = -1;
while (resultSet.next()) {
rowIndex++;
if (rowIndex < offset) continue;
MessageBean bean = new MessageBean();
bean.setMessageID(resultSet.getInt("MessageID"));
bean.setFolderName(resultSet.getString("FolderName"));
bean.setMemberID(resultSet.getInt("MemberID"));
bean.setMessageSenderID(resultSet.getInt("MessageSenderID"));
bean.setMessageSenderName(resultSet.getString("MessageSenderName"));
bean.setMessageToList(resultSet.getString("MessageToList"));
bean.setMessageCcList(resultSet.getString("MessageCcList"));
bean.setMessageBccList(resultSet.getString("MessageBccList"));
bean.setMessageTopic(resultSet.getString("MessageTopic"));
bean.setMessageBody(resultSet.getString("MessageBody"));
bean.setMessageType(resultSet.getInt("MessageType"));
bean.setMessageOption(resultSet.getInt("MessageOption"));
bean.setMessageStatus(resultSet.getInt("MessageStatus"));
bean.setMessageReadStatus(resultSet.getInt("MessageReadStatus"));
bean.setMessageNotify(resultSet.getInt("MessageNotify"));
bean.setMessageIcon(resultSet.getString("MessageIcon"));
bean.setMessageAttachCount(resultSet.getInt("MessageAttachCount"));
bean.setMessageIP(resultSet.getString("MessageIP"));
bean.setMessageCreationDate(resultSet.getTimestamp("MessageCreationDate"));
retValue.add(bean);
if (retValue.size() == rowsToReturn) break;// Fix the Sybase bug
}
return retValue;
} catch(SQLException sqle) {
log.error("Sql Execution Error!", sqle);
throw new DatabaseException("Error executing SQL in MessageDAOImplJDBC.getBeans_inMember_inFolder_withSortSupport_limit_noscroll.");
} finally {
DBUtils.closeResultSet(resultSet);
DBUtils.resetStatement(statement);
DBUtils.closeStatement(statement);
DBUtils.closeConnection(connection);
}
}
/*
* Included columns: MessageID, FolderName, MemberID, MessageSenderID, MessageSenderName,
* MessageToList, MessageCcList, MessageBccList, MessageTopic, MessageBody,
* MessageType, MessageOption, MessageStatus, MessageReadStatus, MessageNotify,
* MessageIcon, MessageAttachCount, MessageIP, MessageCreationDate
* Excluded columns:
*/
public Collection getBeans_inMember_inFolder_withSortSupport_limit_general(int memberID, String folderName, int offset, int rowsToReturn, String sort, String order, boolean onlyNonPublic)
throws DatabaseException {
// IMPORTANT NOTE: the checking of parameters is moved to method getBeans_inMember_inFolder_withSortSupport_limit
// IF THERE ARE ANY CHANGES HERE, PLEASE MOVE BACK THE CHECKING OF PARAMETERS
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
Collection retValue = new ArrayList();
StringBuffer sql = new StringBuffer(512);
sql.append("SELECT MessageID, FolderName, MemberID, MessageSenderID, MessageSenderName, MessageToList, MessageCcList, MessageBccList, MessageTopic, MessageBody, MessageType, MessageOption, MessageStatus, MessageReadStatus, MessageNotify, MessageIcon, MessageAttachCount, MessageIP, MessageCreationDate");
sql.append(" FROM " + TABLE_NAME);
sql.append(" WHERE MemberID = ?");
sql.append(" AND FolderName = ?");
if (onlyNonPublic) {
sql.append(" AND MessageType <> " + MessageBean.MESSAGE_TYPE_PUBLIC);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -