2010. 5. 26. 12:00ㆍprogramming/JDBC
다음과 같은 필드로 구성되는 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")+"')";
이중인용부호 단일인용부호
위처럼 하면 이중인용부호와 단일인용부호가 다소 헷갈릴 수가 있다.
다음 처럼 하면 좋다.
첫번째 물음표 순번을 가리킴.
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>
'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 |