Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]

jdbctest.jsp 실습 12주

2010. 5. 26. 12:00programming/JDBC

728x90

다음과 같은 필드로 구성되는 table을 생성한다.

create table tb_test(
username varchar(12) not null primary key,
email varchar(50) not null
);

생성된 table 확인

show tables;

테이블 레코드(행) 삽입

insert into tb_test (username, email)
 values ('강산애', 'kang@net.net');

테이블 레코드 선택

select * from tb_test;

여기에서 * 은 모든 내용을 뜻한다.


<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="java.sql.*" %>
sql 문 메소드를 사용하기 위해서 반드시 포함시켜주어야 한다.
<% request.setCharacterEncoding("euc-kr"); %>

<%
 // 데이터베이스 연결관련 변수 선언
 Connection conn = null;
  PreparedStatement stmt = null;
sql 쿼리문을 위한 객체 생성.

 // 데이터베이스 연결관련정보를 문자열로 선언
 String jdbc_driver = "com.mysql.jdbc.Driver";
  String jdbc_url = "jdbc:mysql://localhost:3306/jspdb";
 try{
    // JDBC 드라이버 로드
    Class.forName(jdbc_driver);

    // 데이터베이스 연결정보를 이용해 Connection 인스턴스 확보
     conn = DriverManager.getConnection(jdbc_url,"root","ce1111");
                                                                 사용자아이디 비밀번호


    // Connection 클래스의 인스턴스로 부터 SQL  문 작성을 위한 Statement 준비
    stmt = conn.createStatement();

    // username 값을 입력한 경우 sql 문장을 수행.
    if(request.getParameter("username") != null) {

   String sql = "insert into tb_test values('"+request.getParameter("username")+"','"+request.getParameter("email")+"')";
                이중인용부호           단일인용부호
위처럼 하면 이중인용부호와 단일인용부호가 다소 헷갈릴 수가 있다.
다음 처럼 하면 좋다.

    String sql = "insert into tb_test values(?,?)";
    stmt = conn.prepareStatement(sql);
    stmt.setString(1,request.getParameter("username")); 
                  첫번째 물음표 순번을 가리킴.
    stmt.setString(2,request.getParameter("email"));

      stmt.executeUpdate(sql);
    }
  }
 catch(Exception e) {
   System.out.println(e);
 }
%>

<HTML>
<HEAD><TITLE>JDBC 테스트 </TITLE></HEAD>
<BODY>
<center>
<H2>이벤트 등록</H2>
<HR>

<form name=form1 method=post action=jdbctest.jsp>
  등록이름 : <input type=text name=username>
  email주소 : <input type=text name=email size=20>
  <input type=submit value="등록">
  </form>
<HR>
</center>
# 등록 목록<P>
<%
  try{
    // select 문장을 문자열 형태로 구성한다.
    String sql = "select username, email from tb_test";

    // select 를 수행하면 데이터정보가 ResultSet 클래스의 인스턴스로 리턴됨.
    ResultSet rs = stmt.executeQuery(sql);
    int i=1;
executeQuery() 하고나면 레코드 전체를 ResultSet이라는 타입으로 반환한 것을rs 가 받는다.

    // 마지막 데이터까지 반복함.
    while(rs.next()) {
rs.next()) -> 레코드 단위로 반환
      out.println(i+" : "+rs.getString(1)+" , "+rs.getString("email")+"<BR>");
      i++;                   문자열 타입이기 때문에 getString 으로. int 타입이면getInt
    }
    // 사용한 자원의 반납.꼭 해주어야한다.
    rs.close();
    stmt.close();
    conn.close();
  }
  catch(Exception e) {
    System.out.println(e);
  }
%>
</BODY></HTML>

 


728x90

'programming > JDBC' 카테고리의 다른 글

Database 연결 확인 + 이클립스 개발환경 만들기  (0) 2010.06.12
JDBC 드라이브 설치.  (0) 2010.06.12
[JDBC]방명록 만들기  (0) 2010.06.04
[JDBC]전화번호부 DB  (0) 2010.05.28
JDBC 데이터 베이스 생성  (0) 2010.05.19