DB 연결을 위한 connection 연결
// 1. DB와 Java 간 데이터 송신을 위한 jdbc.Driver를 동적으로 가져온다.
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. Connection을 생성한다.
// DriverManager.getConnection을 활용해서 Connection을 만든다.
// DriverManager.getConnection("url", "user", "password");
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost/toby-part1",
"root",
"1234"
);
SQL 쿼리문을 담은 Statement (PreparedStatement) 생성
// 1. statement 생성
// connection 객체를 활용해서 생성
// connection.preparedStatement("sql query문")
PreparedStatement ps = connection.preparedStatement(
"insert into user(id, name, password) values(?, ?, ?)"
);
//2. query문에 데이터 넣기
// preparedStatement.setString(index, value)를 활용해서 ?에 데이터를 넣는다.
// index는 앞에서부터 1부터 시작한다.
ps.setString(1, user.getId());
ps.setString(2, user.getName());
ps.setString(3, user.getPassword());
Statement 실행
// 위의 insert문을 실행해서 데이터를 update한다.
ps.executeUpdate();
// 반환 값으로 int 타입 값을 반환함 : 변경된 레코드 개수를 반환
// query문의 실행 결과를 반환할 수도 있다.
ps.executeQuery();
// 반환 값으로 ResultSet 객체를 반환함.
// 이런 것도 있다고 한다.
ps.execute()
// 반환 값으로 boolean 값을 반환함.
//spring에서 DB 다루는게 노가다인데
실행한 결과를 ResultSet 객체로 담아준다.
// ps에서 select문을 사용한 경우, 결과를 받아줄 때, ResultSet를 사용한다.
ResultSet rs = ps.executeQuery();
connection, ResultSet, Statement를 닫는다.
rs.close();
ps.close();
connection.close();
추가적인 예외 처리를 진행한다.