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.sql.Timestamp ; 8 9 import net.myvietnam.mvncore.exception.CreateException; 10 import net.myvietnam.mvncore.exception.DatabaseException; 11 import net.myvietnam.mvncore.exception.DuplicateKeyException; 12 import net.myvietnam.mvncore.exception.ObjectNotFoundException; 13 14 import org.mvnforum.phpbb2mvnforum.db.MessageDAO; 15 import org.mvnforum.util.DBUtils; 16 17 public class MessageDAOImplJDBC implements MessageDAO { 18 19 public void findByPrimaryKey(int messageID) 20 throws ObjectNotFoundException, DatabaseException { 21 22 Connection connection = null; 23 PreparedStatement statement = null; 24 ResultSet resultSet = null; 25 StringBuffer sql = new StringBuffer (512); 26 sql.append("SELECT MessageID"); 27 sql.append(" FROM " + TABLE_NAME); 28 sql.append(" WHERE MessageID = ?"); 29 try { 30 connection = DBUtils.getMvnConnection(); 31 statement = connection.prepareStatement(sql.toString()); 32 statement.setInt(1, messageID); 33 resultSet = statement.executeQuery(); 34 if (!resultSet.next()) { 35 throw new ObjectNotFoundException("Cannot find the primary key (" + messageID + ") in table 'message'."); 36 } 37 } catch (SQLException sqle) { 38 throw new DatabaseException("Error executing SQL in messageDAOImplJDBC.findByPrimaryKey."); 39 } finally { 40 DBUtils.closeResultSet(resultSet); 41 DBUtils.closeStatement(statement); 42 DBUtils.closeConnection(connection); 43 } 44 } 45 46 53 public int create(String folderName, int memberID, int messageSenderID, String messageSenderName, 54 String messageToList, String messageCcList, String messageBccList, String messageTopic, String messageBody, 55 int messageType, int messageOption, int messageStatus, int messageReadStatus, int messageNotify, 56 String messageIcon, int messageAttachCount, String messageIP, Timestamp messageCreationDate) 57 throws CreateException, DatabaseException, DuplicateKeyException { 58 59 Connection connection = null; 60 PreparedStatement statement = null; 61 StringBuffer sql = new StringBuffer (512); 62 sql 63 .append("INSERT INTO " 64 + TABLE_NAME 65 + " (FolderName, MemberID, MessageSenderID, MessageSenderName, MessageToList, MessageCcList, MessageBccList, MessageTopic, MessageBody, MessageType, MessageOption, MessageStatus, MessageReadStatus, MessageNotify, MessageIcon, MessageAttachCount, MessageIP, MessageCreationDate)"); 66 sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); 67 try { 68 connection = DBUtils.getMvnConnection(); 69 statement = connection.prepareStatement(sql.toString()); 70 71 statement.setString(1, folderName); 72 statement.setInt(2, memberID); 73 statement.setInt(3, messageSenderID); 74 statement.setString(4, messageSenderName); 75 statement.setString(5, messageToList); 76 statement.setString(6, messageCcList); 77 statement.setString(7, messageBccList); 78 statement.setString(8, messageTopic); 79 statement.setString(9, messageBody); 80 statement.setInt(10, messageType); 81 statement.setInt(11, messageOption); 82 statement.setInt(12, messageStatus); 83 statement.setInt(13, messageReadStatus); 84 statement.setInt(14, messageNotify); 85 statement.setString(15, messageIcon); 86 statement.setInt(16, messageAttachCount); 87 statement.setString(17, messageIP); 88 statement.setTimestamp(18, messageCreationDate); 89 90 if (statement.executeUpdate() != 1) { 91 throw new CreateException("Error adding a row into table 'message'."); 92 } 93 return 0; 94 } catch (SQLException sqle) { 95 throw new DatabaseException("Error executing SQL in messageDAOImplJDBC.create."); 96 } finally { 97 DBUtils.closeStatement(statement); 98 DBUtils.closeConnection(connection); 99 } 100 } 101 } 102 | Popular Tags |