Jdbc Template이 '드라이버 로딩, DB연결, 자원해제'를
다 해주기 때문에 우리는 SQL 작성 및 전송만 하면 됨.
org.springframework.jdbx.datasource.DriverDataSource
데이터베이스 연겨로가 관련된 정보를 가지고 있는 스프링이 가진 데이터 소스임!
private JdbcTemplate template;
public MemberDao() {
dataSource = new pringframework.jdbx.datasource.DriverDataSource();
dataSource..setDriverClassName(driver);
dataSource.setUrl(url);
dataSource.setUsername(userid);
dataSource.setPassword(userpw);
//데이터 소스 set
template = new JdbcTemplate();
template.setDataSource(dataSource);
//템플릿에 넣어줌(이용할 수 있게)
}
@Override
public int memberInsert(Member member) {
int result = 0;
String wql = "INSERT INTO member (memId, memPw, memMail) valuew (?,?,?)";
// 우리가 해야할 것은 쿼리문 작성 뿐!
result - template.update(sql, member.getMemId(), member.getMemPw(), member.getMemMail());
//템플릿으로 이용만!
return result;
}
하면, try~catch~finally 부분 다 필요없어짐.
result = template.update(new PreparedStatementCreator() {
@override
public preparedStatement createPreParedStatement(Connection conn)
throws SQLException {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, member.getMemId());
pstmt.setString(2, member.getMemPw());
pstmt.setString(3, member.getMemMail());
return pstmt;
}
}
result = template.update(sql, new PreparedStatementSetterr() {
@override
public void setValues(preparedStatement pstmt)throws SQLException {
pstmt.setString(1, member.getMemId());
pstmt.setString(2, member.getMemPw());
pstmt.setString(3, member.getMemMail());
}
}
2, 3번째 방법은 sql문이 외부에서 사용될 수 있기 때문에 final로 지정해주면 좋다!
final String sql = "INSERT INTO member (memId, memPw, memMail) values (?,?,?)";
select문은 4가지 방법이 있다.
members = template.query(sql, new Object[]{member.getMemId(), member.getMemPw()}, new RowMapper<Member>())
난 맵퍼가 좀 맘에 들어서 맵퍼로 해봤다!@Override
public Member meberSelect(final Member member) {
List<Member> members = null;
final String sql = "SELECT * FROM member WHERE memId = ? AND memPw = ?";
}
members = template.query(sql, new RowMapper<Memver>() {
@Overriede
public MEmber mapRow(ResultSet re, int rowNum) throws SQLException {
Member mem = new Member();
mem.setMemId(rs.getString("memId"));
mem.setMemPw(rs.getString("memPw"));
mem.setMemMail(rs.getString("memMail"));
mem.setMemPurcNum(rs.getString("memPurcNum"));
return mem;
}
}, member.getMemId(), member.getMemPw());