DB 접속 후 데이터를 처리하는 Query문을 실행 해 보자.
public boolean stmt() {
boolean success = false;
// 1. DB 접속
if(conn!=null) {
// 2. 쿼리문 준비 - java에서 쿼리문을 준비할때는 세미콜론은 뺀다.
String sql = "create table member("
+ "ID varchar(50) PRIMARY KEY"
+ ",PW varchar(100)"
+ ",NAME varchar(50)"
+ ",AGE int(3)"
+ ",GENDER varchar(4)"
+ ",EMAIL varchar(100)"
+ ")";
// 3. 쿼리문 실행
// 3-1. Statement 준비
try {
Statement stmt = conn.createStatement();
//3-2. 쿼리문 실행
int row=stmt.executeUpdate(sql);
logger.info("영향받은 데이터 갯수 : "+row); // 4. 결과값 확인(테이블 생성은 데이터에 영향이 없으므로0)
success = true;
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return success;
}
public boolean join(HashMap<String, String> param) throws SQLException {
boolean success = false;
// 1. DB 접속
// 2. 쿼리문 준비
String sql ="insert into member(id,pw,name,age,gender,email)"
+ " values(?,?,?,?,?,?)";
// 3. 쿼리문 실행
// 3-1. PreparedStatement
PreparedStatement ps = conn.prepareStatement(sql);
try {
// 3-2. ? 에 뭐가 들어가야 하는지 지정
ps.setString(1, param.get("id"));
ps.setString(2, param.get("pw"));
ps.setString(3, param.get("name"));
ps.setInt(4, Integer.parseInt(param.get("age")));
ps.setString(5, param.get("gender"));
ps.setString(6, param.get("email"));
// 3-3. 쿼리문 실행
int row = ps.executeUpdate();
// 4. 결과값 반환
if(row ==1) {
success = true;
}
} catch (SQLException e) {
e.printStackTrace();
conn.close();
ps.close();
}
return success;
}
public void list() throws Exception {
// 1. 쿼리문 준비
String sql ="SELECT *FROM member";
// 2. PreparedStatement준비 - ? 가 있다면 뭐가 들어갈지 설정
PreparedStatement ps = conn.prepareStatement(sql);
// 3. 쿼리문 실행 - executeQuery() 으로 결과값으로 ResultSet
ResultSet rs =ps.executeQuery();
// ResultSet 을 하나씩 뽑아내야 한다.
while(rs.next()) { // 값이 있는지 여부 확인, 있으면 해당 데이터로 커서가 이동된다.
logger.info("id : "+rs.getString("id")); // 컬럼명으로 가져오기
logger.info("pw : "+rs.getString(2)); // 컬럼 순서로 가져오기(비추천)
logger.info("name : "+rs.getString("name"));
logger.info("age : "+rs.getInt("age"));
logger.info("gender : "+rs.getString("gender"));
logger.info("email : "+rs.getString("email"));
}
// 자원반납
ps.close();
rs.close();
conn.close();
}