- [Java] 114. JDBC 사용법 (2)2024년 06월 11일
- Song hyun
- 작성자
- 2024.06.11.:15
728x90반응형[Java] 114. JDBC 사용법 (2)
1. Statement 객체 사용
2. PreparedStatement
-PreparedStatement 객체는 미리 컴파일 된 SQL 문을 실행하는 데 사용된다.
-이는 성능을 향상시키고, SQL 인젝션 공격을 방지하는 데 도움이 된다.
3. 시나리오 코드
package ch02; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MySQL_JDBC { public static void main(String[] args) { // 준비물 String url = "jdbc:mysql://localhost:3306/mydb2?serverTimezone=Asia/Seoul"; String user = "root"; // 상용서비스에서 절대 루트 계정 사용 금지 String password = "asd123"; // 필요 데이터 타입 // JDBC API 레벨(자바 개발자들이 개념화 시켜 놓은 클래스들이다. ) Connection connection = null; Statement statement = null; ResultSet resultSet = null; // 1. MySQL 구현체를 사용하겠다는 설정을 해야 한다. // JDBC 드라이버 로드(MySQL 드라이버) try { // 1. 메모리에 사용하는 드라이버(JDBC API를 구현한 클래스) 클래스를 띄운다. Class.forName("com.mysql.cj.jdbc.Driver"); // 2. 데이터 베이스 연결 설정 connection = DriverManager.getConnection(url, user, password); // 3. SQL 실행 statement = connection.createStatement(); // 딱 2가지는 기억하지! 쿼리를 실행 시키는 메서드 resultSet = statement.executeQuery("SELECT * FROM employee"); // select 실행시 사용한다. // statement.executeUpdate(password); --> Insert, Update, delete 사용 // 구문 분석 -- 파싱 // 4. 결과 처리 while(resultSet.next()) { System.out.println("USER ID : " + resultSet.getInt("id")); System.out.println("USER NAME : " + resultSet.getString("name")); System.out.println("department : " + resultSet.getString("department")); System.out.println("----------------------------------"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } // end of main } // end of class
package ch02; 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 MySQL_JDBC { public static void main(String[] args) { // 준비물 String url = "jdbc:mysql://localhost:3306/mydb2?serverTimezone=Asia/Seoul"; String user = "root"; // 상용서비스에서 절대 루트 계정 사용 금지 String password = "asd123"; // 필요 데이터 타입 // JDBC API 레벨(자바 개발자들이 개념화 시켜 놓은 클래스들이다. ) Connection connection = null; Statement statement = null; ResultSet resultSet = null; // 1. MySQL 구현체를 사용하겠다는 설정을 해야 한다. // JDBC 드라이버 로드(MySQL 드라이버) try { // 1. 메모리에 사용하는 드라이버(JDBC API를 구현한 클래스) 클래스를 띄운다. Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL 드라이버 로드 // 만약 mysql 대신에 oracle을 입력했다면, oracle 드라이버가 구현되었을 것. // 2. 데이터 베이스 연결 설정 connection = DriverManager.getConnection(url, user, password); // 3. SQL 실행 (PreparedStatement 객체 사용해보기) // 3-1. 쿼리 만들어 보기 String query="insert into employee values(?,?,?,?,now())"; PreparedStatement preparedStatement=connection.prepareStatement(query); preparedStatement.setInt(1, 7); preparedStatement.setString(2,"이순신"); preparedStatement.setString(3, "IT"); preparedStatement.setString(4, "50000.00"); // 실제 실행에 호출은 executeQuery에 사용 int rowCount=preparedStatement.executeUpdate(); // 4. 결과 처리 System.out.println("rowCount : "+rowCount); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } // end of main } // end of class
728x90반응형'Java > 네트워크 통신' 카테고리의 다른 글
[Java] 117. 트랜잭션의 개념과 트랜잭션 관리 (0) 2024.06.12 [Java] 115. 코드 예제: JDBC를 활용하여 CRUD 해보기 (0) 2024.06.11 [Java] 113. JDBC 사용법 (0) 2024.06.11 [Java] 112. MySQL 쿼리 파싱하기 (0) 2024.06.10 [Java] 111. Json 파싱하기 (2) - (3) Object+Array (0) 2024.06.07 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)