Search

BORARDDAO

Web/Basic 2011. 9. 3. 11:19 Posted by Request

package net.board.db;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.naming.Context;
import javax.naming.InitialContext;

import sun.jdbc.odbc.ee.DataSource;

public class BoardDAO {
 Connection con;
 PreparedStatement pstmt;
 ResultSet rs;
 
 public BoardDAO(){
  try{
  Context init = new InitialContext();
  DataSource ds =
   (DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
  con = ds.getConnection();
  }catch(Exception ex){
   System.out.println("DB 연결 실패 : " + ex);
   return;
  }
 }


 //글의 개수 구하기.
 public int getListCount(){
  int x = 0;
  
  try {
   pstmt = con.prepareStatement("select count(*) from board");
   rs = pstmt.executeQuery();
   
   if(rs.next()){
    x=rs.getInt(1);    // ?
   }
   
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   System.out.println("getListCount 에러 : " + e);
  }finally{
   if(rs!=null)try{rs.close();}catch(SQLException ex){}
   if(pstmt!=null)try{pstmt.close();}catch(SQLException ex){}
  }
  return x;
 }
 
 
 //글 목록 보기.
 public List getBoardList(int page, int limit){
  String board_list_sql="select * from " +
  "(select rownum rnum, BOARD_FILE, BOARD_RE_REF, BOARD_RE_LEV,"+
  "BOARD_RE_SEQ, BOARD_READCOUNT, BOARD_DATE from " +
  "(select * from board order by BOARD_RE_REF desc,BOARD_RE_SEQ asc))" +
  "where rnum >=? and rnum<= ? ";
  
 List list = new ArrayList();
 
 int startrow = (page-1)*10+1; //읽기 시작할 row번호.
 int endrow = startrow+limit-1; //읽을 마지막 row 번호.
 
 try {
  pstmt = con.prepareStatement(board_list_sql);

 pstmt.setInt(1, startrow);
 pstmt.setInt(2, endrow);
 rs = pstmt.executeQuery();
 
 while(rs.next()){
  BoardBean board = new BoardBean();
  board.setBOARD_NUM(rs.getInt("BOARD_NUM"));
  board.setBOARD_NAME(rs.getString("BOARD_NAME"));
  board.setBOARD_SUBJECT(rs.getString("BOARD_SUBJECT")); 
  board.setBOARD_CONTENT(rs.getString("BOARD_CONTENT"));
  board.setBOARD_FILE(rs.getString("BOARD_FILE"));
  board.setBOARD_REF(rs.getInt("BOARD_REF"));
  board.setBOARD_RE_LEV(rs.getInt("BOARD_RE_LEV"));
  board.setBOARD_READCOUNT(rs.getInt("BOARD_READCOUNT"));
  board.setBOARD_DATE(rs.getDate("BOARD_DATE"));
  list.add(board);
 }
 
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  System.out.println("getBoardList 에러  : " + e);
   
  }finally{
   if(rs!=null)try{rs.close();}catch(SQLException e){}
   if(pstmt!=null)try{pstmt.close();}catch(SQLException e){}
   
  }
  return list;
 }
 
}

JQuery와 Prototype의 차이점을 살펴보자.

Web/Basic 2011. 8. 26. 00:58 Posted by Request

1.J쿼리란?
-자바스크립트를 이용해 가공한 라이브러리로써, Behavior driven development 방법론을 지향하고 CSS셀렉터를 사용하여 HTML문서를 훑어보는 방법을 기반한다.

2.Prototype(프로토타입)이란?
-Class driven development지향하고 라이브러리는 Ruby on Rails에서 아주 잘 지원되며, 많은 헬퍼 함수를 가지고 있다.

사용 방법 비교)

 JQUERY의 경우  Prototype의 경우
1
$("#user-box").css("background-color","red")
var a = $("user-box");
a.style.cssText += "background-color:red;";
2
 $("div.tabs").hide();
$("div#tabs1").show();
$$("div.tabs").invoke("hide");
$$("div.tabs").each(function(x){
Element.hide(x);
});
$("tabs1").show(); 


①예제는 element(user-box)의 배경화면을 빨강색으로 바꾸는 CSS 수정하는 예제이다.
②예제는 tabs클래스에 속하는 tabs1, tabs2, tabs3가 있을 때, 사용자가 링크를 클릭했을 때 tabs1이 보여지는 예제이다.

비교대상 Prototype 자바스크립트 프레임워크는 AJAX 프레임워크와 다른 유틸리티들을 제공한다.
(Prototype.js라는 이름의 단일 자바스크림트 파일로 구성되어 있다.)

---------------------------------------------------------------------------------------------
응용편
1.클릭했을 때 경고창을 띄우는 예제
$(element).click(function(){
alert("warning");
});


2.speciallinks클래스들의 모든 엘리먼트에 다음과 같은 행위를 집어넣자.
   ⓐhref를 "javascript:void(0);"로 변경하고
   ⓑ클릭시 로그를 남기고
   ⓒonhover시 (mouse over시) 배경색을 변경한다.
 $("div.speciallinks").attr("href","javascriptLvoid(0)")
.click(function() {console.log("div.speciallinks clicked");})
.hover(function(){$(this).addClass("hovered");},
function(){$(this).removeClass("hovered");});


[출처 : http://dogfeet.tistory.com/29 ]


보통 수학의 집합에서 슈퍼셋, 서브셋의 용어와 비교하자면 서브셋이 슈퍼셋보다 작은 집합을 의미 하지만,

클래스에서 사용하는 슈퍼클래스와 서브 클래스의 용어에서는 서브 클래스가 슈퍼 클래스보다 더 많은 사양을 갖습니다.

수학적 개념
슈퍼 > 서브

프로그램적 개념
슈퍼 < 서브




 이런 개념의 혼란을 피하기 위해 c++은 슈퍼 클래스를 기반 클래스( base class), 서브 클래스를 파생 클래스(derived class)라고 부릅니다.