*jdbc(java database connectivity)
java.sql 패키지 사용
1. DriverManager : JVM에서 JDBC전체를 관리하는 class(Driver등록, Connection 연결작업)
2. Driver : DB를 만드는 Vendor 를 구현하여 자신들의 DB를 연결할수 있는 class를
만드는 interface
3. Connection : DB와 연결성을 가지고 있는 interface
4. Statement : 실제 SQL문을 사용하기 위하여 Connection으로부터 받아내는 interface
5. ResultSet : Statement를 통하여 SQL Select 문을 실행하였을 때
그 결과 Date를 가지고 있는 interface
JDBC 사용하기
1. Connection 설정
1. 선언
Connection conn;
2. 검색
Class.forName("oracle.jdbc.driver.OracleDriver");
("sun.jdbc.odbc.JdbcOdbcDriver")
("dor.gjt.mm.mysql.Driver")
3. 객체값 얻기(연결)
conn=DriverManager.getConnection();
"jdbc:oracle:thin:@IP Adress:port:별칭,id,password"
"jdbc:odbc:별칭"
"jdbc:mysql:IP Adress:port:별칭"
2. Statement설정
1. 선언
Statement stmt;
2. 객체값 얻기 (db로 부터)
stmt=conn.createStatement();
3. SQL문장
1. insert 추가
2. delete 삭제
3. update 수정
4. select 검색
4. 사용
1. stme.executeUpdate(sql문장)
2. ResultSet rs=stme.executeQuery(sql문장);
rs.next() rs가 한개 이상 있다면 true, 0개이면 false가 나온다.
rs.next 는 if와 while에 쓰인다.
getString.
rs.next와 getString 은 외워두자.
**************************************************************************
/* ex)
class FirstJDBC
table 명 : nameDB
colume : name varchar2 (20)
*/
import java.io.*;
import java.sql.*;
class FirstJDBC
{
String name, TableName;
Connection conn;
Statement stmt;
ResultSet rs;
FirstJDBC()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora","scott","tiger");
stmt = conn.createStatement();
System.out.println("DB 연결 성공!");
}
catch (Exception e)
{
System.out.println("DB 연결 실패!"+e);
}
/////////// Table 생성
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Input TableName : ");
try
{
TableName = br.readLine();
String sql = "Create table "+TableName+" (name varchar2(20))";
// String sql1 = "Create table PANDA(name varchar2(20))";
stmt.executeUpdate(sql);
System.out.println("테이블 생성 성공!");
}
catch (Exception e)
{
System.out.println("테이블 생성 실패!"+e);
}
/////////// DB 추가
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Input name : ");
try
{
name = br1.readLine();
String sql = "insert into "+TableName+" values ('"+name+"')";
stmt.executeUpdate(sql);
System.out.println("DB 추가 성공!");
}
catch (Exception e)
{
System.out.println("DB 추가 실패!"+e);
}
/////////// Select 문
try
{
String sql = "select * from "+TableName+" ";
rs = stmt.executeQuery(sql);
while (rs.next())
{
System.out.println("현재 DB 내용 출력!");
System.out.println(rs.getString("name"));
}
System.out.println("DB 검색 성공!");
}
catch (Exception e)
{
System.out.println("DB 검색 실패!");
}
/////////// close 문
try
{
stmt.close();
conn.close();
System.out.println("DB 닫기 성공!");
}
catch (Exception e)
{
System.out.println("DB 닫기 실패!");
}
}
public static void main(String[] args)
{
FirstJDBC fj = new FirstJDBC();
}
}
'DB > JDBC' 카테고리의 다른 글
MetaData (0) | 2007.04.04 |
---|---|
PreparedStatement (0) | 2007.04.04 |
JDBC란..? (0) | 2007.03.29 |