record logo record

JDBC

web-jdbc

1단계 : JDBC 드라이버 로딩

//==jdbc.drivers 환경변수 이용하기==//
System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");

//==Class.forName() 메서드 이용하기==//
Class.forName("com.mysql.jdbc.Driver"); // MySQL JDBC Driver 5 이하
Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL JDBC Driver 6 이상

2단계: 데이터베이스 연결

//==기본 형식==//
jdbc:mysql://IP주소/스키마:PORT(옵션)
// MySQL 5.6 이하
String jdbc_url = "jdbc:mysql://localhost/jspdb";
// MySQL 5.7 이상
String jdbc_url = "jdbc:mysql://localhost/jspdb?useSSL=false&serverTimezone=UTC";

Connection conn = DriverManager.getConnection(jdbc_url ,"jspbook","passwd");

3단계: Statement / PreparedStatement 생성

Statement stmt = conn.createStatement();
stmt.executeUpdate("insert into test values
(' "+request.getParameter("username")+" ','"+request.getParameter("email")+" ')");
PreparedStatement pstmt = conn.prepareStatement("insert into test values(?,?)");
pstmt.setString(1,request.getParameter("username");
pstmt.setString(2,request.getParameter("email");
pstmt.executeUpdate();

//==리소스 명시적 반납==//
stmt.close();
pstmt.close();

4단계: SQL문 전송

pstmt.executeUpdate();
int count = pstmt.executeUpdate(); // 처리한 로우의 개수 반환

5단계: 결과 받기


ResultSet rs = pstmt.executeQuery();
while(rs.next()) {
  name = rs.getString(1); // or rs.getString("name");
  age = rs.getInt(2); // or rs.getInt("email");
}
rs.close();

6단계: 연결 해제

Reference