package board.model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.bitmechanic.sql.ConnectionPoolManager;
import multiboard.Util;
import multiboard.KKJLog;
public class MemoDAO
{
Connection con=null;
PreparedStatement pstmt=null;
ResultSet rs = null;
String sql = "";
/*
* 개요 : 꼬릿말 리스트
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public List list( String board_code ,
String board_no ,
String board_grade ,
String write_date )
{
List memoList = new ArrayList();
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
sql = " SELECT BOARD_CODE , ";
sql += " BOARD_NO , ";
sql += " BOARD_GRADE , ";
sql += " WRITE_DATE , ";
sql += " MEMO_NO , ";
sql += " MEMBER_ID , ";
sql += " MEMO , ";
sql += " MEMO_TIME ";
sql += " FROM MEMO ";
sql += " WHERE BOARD_CODE = ? ";;
sql += " AND BOARD_NO = ? ";;
sql += " AND BOARD_GRADE = ? ";;
sql += " AND WRITE_DATE = ? ";;
sql += " ORDER BY MEMO_NO DESC ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setInt( 2 , Integer.parseInt( board_no ) );
pstmt.setInt( 3 , Integer.parseInt( board_grade ) );
pstmt.setString( 4 , write_date );
rs = pstmt.executeQuery();
while(rs.next())
{
MemoVO memo = new MemoVO();
memo.setBoard_code( rs.getString( "BOARD_CODE" ) );
memo.setBoard_no( Integer.toString( rs.getInt( "BOARD_NO" ) ) );
memo.setBoard_grade( Integer.toString( rs.getInt( "BOARD_GRADE" ) ) );
memo.setWrite_date( rs.getString( "WRITE_DATE" ) );
memo.setMemo_no( Integer.toString( rs.getInt( "MEMO_NO" ) ) );
memo.setMember_id( rs.getString( "MEMBER_ID" ) );
memo.setMemo( rs.getString( "MEMO" ) );
memo.setMemo_time( rs.getString( "MEMO_TIME" ) );
memoList.add( memo );
}
con.commit();
}
catch (Exception e)
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "list Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return null;
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
return memoList;
}
/*
* 개요 : 꼬릿말 리턴
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public MemoVO view( String board_code ,
String board_no ,
String board_grade ,
String write_date ,
String memo_no )
{
MemoVO memo = new MemoVO();
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
sql = " SELECT BOARD_CODE , ";
sql += " BOARD_NO , ";
sql += " BOARD_GRADE , ";
sql += " WRITE_DATE , ";
sql += " MEMO_NO , ";
sql += " MEMBER_ID , ";
sql += " MEMO , ";
sql += " MEMO_TIME ";
sql += " FROM MEMO ";
sql += " WHERE BOARD_CODE = ? ";
sql += " AND BOARD_NO = ? ";
sql += " AND BOARD_GRADE = ? ";
sql += " AND WRITE_DATE = ? ";
sql += " AND MEMO_NO = ? ";
sql += " ORDER BY MEMO_NO DESC ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setInt( 2 , Integer.parseInt( board_no ) );
pstmt.setInt( 3 , Integer.parseInt( board_grade ) );
pstmt.setString( 4 , write_date );
pstmt.setInt( 5 , Integer.parseInt( memo_no ) );
rs = pstmt.executeQuery();
while(rs.next())
{
memo.setBoard_code( rs.getString( "BOARD_CODE" ) );
memo.setBoard_no( Integer.toString( rs.getInt( "BOARD_NO" ) ) );
memo.setBoard_grade( Integer.toString( rs.getInt( "BOARD_GRADE" ) ) );
memo.setWrite_date( rs.getString( "WRITE_DATE" ) );
memo.setMemo_no( Integer.toString( rs.getInt( "MEMO_NO" ) ) );
memo.setMember_id( rs.getString( "MEMBER_ID" ) );
memo.setMemo( rs.getString( "MEMO" ) );
memo.setMemo_time( rs.getString( "MEMO_TIME" ) );
}
con.commit();
}
catch (Exception e)
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "list Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return null;
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
return memo;
}
/*
* 개요 : 꼬릿말 쓰기
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public String insert( String board_code ,
String board_no ,
String board_grade ,
String write_date ,
String member_id ,
String memo )
{
int max_no = 0;
//해당 게시물의 최대 꼬릿말 번호를 셀렉트.
max_no = max_no( board_code ,
board_no ,
board_grade ,
write_date ) + 1;
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
con.setAutoCommit(false);
sql = " INSERT INTO MEMO( BOARD_CODE , ";
sql += " BOARD_NO , ";
sql += " BOARD_GRADE , ";
sql += " WRITE_DATE , ";
sql += " MEMO_NO , ";
sql += " MEMBER_ID , ";
sql += " MEMO , ";
sql += " MEMO_TIME ) ";
sql += " VALUES( ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " TO_CHAR( SYSDATE , 'YYYY/MM/DD' ) ) ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setString( 2 , board_no );
pstmt.setString( 3 , board_grade );
pstmt.setString( 4 , write_date );
pstmt.setInt( 5 , max_no );
pstmt.setString( 6 , member_id );
pstmt.setString( 7 , Util.uni2ksc( memo ) );
pstmt.executeUpdate();
con.commit();
return "success";
}
catch( Exception e )
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "insert Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return "fail";
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.bitmechanic.sql.ConnectionPoolManager;
import multiboard.Util;
import multiboard.KKJLog;
public class MemoDAO
{
Connection con=null;
PreparedStatement pstmt=null;
ResultSet rs = null;
String sql = "";
/*
* 개요 : 꼬릿말 리스트
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public List list( String board_code ,
String board_no ,
String board_grade ,
String write_date )
{
List memoList = new ArrayList();
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
sql = " SELECT BOARD_CODE , ";
sql += " BOARD_NO , ";
sql += " BOARD_GRADE , ";
sql += " WRITE_DATE , ";
sql += " MEMO_NO , ";
sql += " MEMBER_ID , ";
sql += " MEMO , ";
sql += " MEMO_TIME ";
sql += " FROM MEMO ";
sql += " WHERE BOARD_CODE = ? ";;
sql += " AND BOARD_NO = ? ";;
sql += " AND BOARD_GRADE = ? ";;
sql += " AND WRITE_DATE = ? ";;
sql += " ORDER BY MEMO_NO DESC ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setInt( 2 , Integer.parseInt( board_no ) );
pstmt.setInt( 3 , Integer.parseInt( board_grade ) );
pstmt.setString( 4 , write_date );
rs = pstmt.executeQuery();
while(rs.next())
{
MemoVO memo = new MemoVO();
memo.setBoard_code( rs.getString( "BOARD_CODE" ) );
memo.setBoard_no( Integer.toString( rs.getInt( "BOARD_NO" ) ) );
memo.setBoard_grade( Integer.toString( rs.getInt( "BOARD_GRADE" ) ) );
memo.setWrite_date( rs.getString( "WRITE_DATE" ) );
memo.setMemo_no( Integer.toString( rs.getInt( "MEMO_NO" ) ) );
memo.setMember_id( rs.getString( "MEMBER_ID" ) );
memo.setMemo( rs.getString( "MEMO" ) );
memo.setMemo_time( rs.getString( "MEMO_TIME" ) );
memoList.add( memo );
}
con.commit();
}
catch (Exception e)
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "list Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return null;
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
return memoList;
}
/*
* 개요 : 꼬릿말 리턴
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public MemoVO view( String board_code ,
String board_no ,
String board_grade ,
String write_date ,
String memo_no )
{
MemoVO memo = new MemoVO();
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
sql = " SELECT BOARD_CODE , ";
sql += " BOARD_NO , ";
sql += " BOARD_GRADE , ";
sql += " WRITE_DATE , ";
sql += " MEMO_NO , ";
sql += " MEMBER_ID , ";
sql += " MEMO , ";
sql += " MEMO_TIME ";
sql += " FROM MEMO ";
sql += " WHERE BOARD_CODE = ? ";
sql += " AND BOARD_NO = ? ";
sql += " AND BOARD_GRADE = ? ";
sql += " AND WRITE_DATE = ? ";
sql += " AND MEMO_NO = ? ";
sql += " ORDER BY MEMO_NO DESC ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setInt( 2 , Integer.parseInt( board_no ) );
pstmt.setInt( 3 , Integer.parseInt( board_grade ) );
pstmt.setString( 4 , write_date );
pstmt.setInt( 5 , Integer.parseInt( memo_no ) );
rs = pstmt.executeQuery();
while(rs.next())
{
memo.setBoard_code( rs.getString( "BOARD_CODE" ) );
memo.setBoard_no( Integer.toString( rs.getInt( "BOARD_NO" ) ) );
memo.setBoard_grade( Integer.toString( rs.getInt( "BOARD_GRADE" ) ) );
memo.setWrite_date( rs.getString( "WRITE_DATE" ) );
memo.setMemo_no( Integer.toString( rs.getInt( "MEMO_NO" ) ) );
memo.setMember_id( rs.getString( "MEMBER_ID" ) );
memo.setMemo( rs.getString( "MEMO" ) );
memo.setMemo_time( rs.getString( "MEMO_TIME" ) );
}
con.commit();
}
catch (Exception e)
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "list Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return null;
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
return memo;
}
/*
* 개요 : 꼬릿말 쓰기
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public String insert( String board_code ,
String board_no ,
String board_grade ,
String write_date ,
String member_id ,
String memo )
{
int max_no = 0;
//해당 게시물의 최대 꼬릿말 번호를 셀렉트.
max_no = max_no( board_code ,
board_no ,
board_grade ,
write_date ) + 1;
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
con.setAutoCommit(false);
sql = " INSERT INTO MEMO( BOARD_CODE , ";
sql += " BOARD_NO , ";
sql += " BOARD_GRADE , ";
sql += " WRITE_DATE , ";
sql += " MEMO_NO , ";
sql += " MEMBER_ID , ";
sql += " MEMO , ";
sql += " MEMO_TIME ) ";
sql += " VALUES( ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " ? , ";
sql += " TO_CHAR( SYSDATE , 'YYYY/MM/DD' ) ) ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setString( 2 , board_no );
pstmt.setString( 3 , board_grade );
pstmt.setString( 4 , write_date );
pstmt.setInt( 5 , max_no );
pstmt.setString( 6 , member_id );
pstmt.setString( 7 , Util.uni2ksc( memo ) );
pstmt.executeUpdate();
con.commit();
return "success";
}
catch( Exception e )
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "insert Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return "fail";
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
}
/*
* 개요 : 꼬릿말 수정
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public String update( String board_code ,
String board_no ,
String board_grade ,
String write_date ,
String memo_no ,
String memo )
{
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
con.setAutoCommit(false);
sql = " UPDATE MEMO SET MEMO = ? ";
sql += " WHERE BOARD_CODE = ? ";
sql += " AND BOARD_NO = ? ";
sql += " AND BOARD_GRADE = ? ";
sql += " AND WRITE_DATE = ? ";
sql += " AND MEMO_NO = ? ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , memo );
pstmt.setString( 2 , board_code );
pstmt.setInt( 3 , Integer.parseInt( board_no ) );
pstmt.setInt( 4 , Integer.parseInt( board_grade ) );
pstmt.setString( 5 , write_date );
pstmt.setInt( 6 , Integer.parseInt( memo_no ) );
pstmt.executeUpdate();
con.commit();
return "success";
}
catch( Exception e )
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "insert Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return "fail";
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
}
/*
* 개요 : 꼬릿말 삭제
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public String delete( String board_code ,
String board_no ,
String board_grade ,
String write_date ,
String memo_no )
{
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
con.setAutoCommit(false);
sql = " DELETE FROM MEMO ";
sql += " WHERE BOARD_CODE = ? ";
sql += " AND BOARD_NO = ? ";
sql += " AND BOARD_GRADE = ? ";
sql += " AND WRITE_DATE = ? ";
sql += " AND MEMO_NO = ? ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setInt( 2 , Integer.parseInt( board_no ) );
pstmt.setInt( 3 , Integer.parseInt( board_grade ) );
pstmt.setString( 4 , write_date );
pstmt.setInt( 5 , Integer.parseInt( memo_no ) );
pstmt.executeUpdate();
con.commit();
return "success";
}
catch( Exception e )
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "insert Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return "fail";
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
}
/*
* 개요 : 게시물 꼬릿말 번호 최고값 리턴
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public int max_no( String board_code ,
String board_no ,
String board_grade ,
String write_date )
{
int max_no = 0;
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
String sql = " SELECT MAX( MEMO_NO )";
sql += " FROM MEMO ";
sql += " WHERE BOARD_CODE = ? ";
sql += " AND BOARD_NO = ? ";
sql += " AND BOARD_GRADE = ? ";
sql += " AND WRITE_DATE = ? ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setString( 2 , board_no );
pstmt.setString( 3 , board_grade );
pstmt.setString( 4 , write_date );
rs = pstmt.executeQuery();
while(rs.next())
{
max_no = rs.getInt( 1 );
}
con.commit();
}
catch (Exception e)
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "max_no Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return 0;
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
return max_no;
}
}
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public String update( String board_code ,
String board_no ,
String board_grade ,
String write_date ,
String memo_no ,
String memo )
{
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
con.setAutoCommit(false);
sql = " UPDATE MEMO SET MEMO = ? ";
sql += " WHERE BOARD_CODE = ? ";
sql += " AND BOARD_NO = ? ";
sql += " AND BOARD_GRADE = ? ";
sql += " AND WRITE_DATE = ? ";
sql += " AND MEMO_NO = ? ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , memo );
pstmt.setString( 2 , board_code );
pstmt.setInt( 3 , Integer.parseInt( board_no ) );
pstmt.setInt( 4 , Integer.parseInt( board_grade ) );
pstmt.setString( 5 , write_date );
pstmt.setInt( 6 , Integer.parseInt( memo_no ) );
pstmt.executeUpdate();
con.commit();
return "success";
}
catch( Exception e )
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "insert Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return "fail";
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
}
/*
* 개요 : 꼬릿말 삭제
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public String delete( String board_code ,
String board_no ,
String board_grade ,
String write_date ,
String memo_no )
{
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
con.setAutoCommit(false);
sql = " DELETE FROM MEMO ";
sql += " WHERE BOARD_CODE = ? ";
sql += " AND BOARD_NO = ? ";
sql += " AND BOARD_GRADE = ? ";
sql += " AND WRITE_DATE = ? ";
sql += " AND MEMO_NO = ? ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setInt( 2 , Integer.parseInt( board_no ) );
pstmt.setInt( 3 , Integer.parseInt( board_grade ) );
pstmt.setString( 4 , write_date );
pstmt.setInt( 5 , Integer.parseInt( memo_no ) );
pstmt.executeUpdate();
con.commit();
return "success";
}
catch( Exception e )
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "insert Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return "fail";
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
}
/*
* 개요 : 게시물 꼬릿말 번호 최고값 리턴
* 작성일 : 2005-08-15
* 작성자 : 김길재
* 수정자 :
*/
public int max_no( String board_code ,
String board_no ,
String board_grade ,
String write_date )
{
int max_no = 0;
try
{
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+"multiboard");
String sql = " SELECT MAX( MEMO_NO )";
sql += " FROM MEMO ";
sql += " WHERE BOARD_CODE = ? ";
sql += " AND BOARD_NO = ? ";
sql += " AND BOARD_GRADE = ? ";
sql += " AND WRITE_DATE = ? ";
pstmt = con.prepareStatement(sql);
pstmt.setString( 1 , board_code );
pstmt.setString( 2 , board_no );
pstmt.setString( 3 , board_grade );
pstmt.setString( 4 , write_date );
rs = pstmt.executeQuery();
while(rs.next())
{
max_no = rs.getInt( 1 );
}
con.commit();
}
catch (Exception e)
{
try
{
con.rollback();
}
catch( Exception e1 )
{}
KKJLog.info( "//////////////////////////////////////////////" );
KKJLog.info( "max_no Error : " + e.toString() );
KKJLog.info( "//////////////////////////////////////////////" );
return 0;
}
finally
{
try
{
if ( rs != null )
rs.close();
if ( pstmt != null )
pstmt.close();
if ( con != null )
con.close();
}
catch ( Exception ignore )
{
}
}
return max_no;
}
}
댓글 없음:
댓글 쓰기