JDBC에서 CRUD를 구현을 위해 주로 사용하는 객체와 매소드를 한 포스팅에 요약하였다.
DriverManager - 드라이버관리자(db에 맞는 드라이버 로딩)
Connection - DB연결 객체
Statement – 쿼리 실행 객체
PreparedStatement - 준비된 쿼리 실행 객체
ResultSet – 쿼리 결과 집합 객체
package javaStudy;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCExam {
public static void main(String[] args) {
Connection db;
Statement st;
try {
Class.forName("org.postgresql.Driver");
db =
DriverManager.getConnection("접속정보", "ID", "패스워드");
st = db.createStatement();
st.executeUpdate("drop table if exists basic");
st.executeUpdate("create table basic (a int2, b int2)");
st.executeUpdate("insert into basic values (1,1)");
st.executeUpdate("insert into basic values (2,1)");
st.executeUpdate("insert into basic values (3,1)");
st.executeUpdate("update basic set b=8");
PreparedStatement ps = db.prepareStatement("insert into basic values (?,?)");
for(int i=2;i<5;i++) {
ps.setInt(1,4); // "column a" = 5
ps.setInt(2,i); // "column b" = i
ps.executeUpdate();
}
ps.close();
ResultSet rs = st.executeQuery("select a, b from basic");
if(rs!=null) {
while(rs.next()) {
int a = rs.getInt("a");
int b = rs.getInt(2);
System.out.println("a=" + a + ", b=" + b);
}
rs.close();
}
st.executeUpdate("drop table if exists basic");
st.close();
db.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
Class.forName("org.postgresql.Driver");
JDBC드라이버를 로드하고
Connection db = DriverManager.getConnection("접속정보", "ID", "패스워드");
접속정보를 사용해 연결을 만들고
Statement st = db.createStatement();
연결된 DB로 부터 Statement 객체 st를 생성
st.executeUpdate("drop table if exists basic");
테이블이 있으면 삭제하고
st.executeUpdate("create table basic (a int2, b int2)");
테이블을 생성하고
st.executeUpdate("insert into basic values (1,1)");
데이터를 집어넣고
st.executeUpdate("insert into basic values (2,1)");
st.executeUpdate("insert into basic values (3,1)");
st.executeUpdate("update basic set b=8");
b=8인 레코드를 수정하고
PreparedStatement ps = db.prepareStatement("insert into basic values (?,?)");
`insert`문을 실행하는 PreparedStatement ps객체를 만들어서 파라미터 추가후 실행
ps.setInt(1,4);
ps.setInt(2,1);
ps.executeUpdate();
ResultSet rs = st.executeQuery("select a, b from basic");
st 객체로부터 쿼리 실행후 결과셋 rs객체를 생성하고
while(rs.next()) {
rs 객체가 next()일 때까지 읽어서
int a = rs.getInt("a");
필드명이 a인것을 가져오고
int b = rs.getInt(2);
레코드의 컬럼인덱스가 2인것을 가져온다.
System.out.println("a=" + a + ", b=" + b);
}
resultset의 컬럼인덱스는 1부터 시작한다.(배열인덱스는 0부터 시작)
'JAVA' 카테고리의 다른 글
자바 hashmap (0) | 2023.01.24 |
---|---|
자바 파일입출력 (0) | 2023.01.24 |
자바 쓰레드 (0) | 2023.01.24 |
URLConnection객체 : 웹페이지 가져오기 (0) | 2023.01.24 |
JAVA JSONObject (0) | 2023.01.23 |
댓글