주말에 프로젝트 세팅부터 처음부터 다시 해보기!!!

JDBC

  1. 컴파일 시점에 오류 발견이 어려움(raw 쿼리가 박혀있어서)
  2. 결과가 ResultSet으로 나옴. 즉 객체 자동 조립 안됨.. (내가 직접해야함)
@Repository
public class MemberJdbcRepository implements MemberRepository {
	@Autowired
	private DataSource dataSource;
	
	@Override
	public Member save(Member member) {
		try {
			Connection connection = dataSource.getConnection();
			String sql = "insert into member(name, email, password) values(?, ?, ?);"; // ? : 변수로 처리
			PreparedStatement preparedStatement = connection.preparedStatement(sql);
			preparedStatement.setString(1, member.getName());
			preparedStatement.setString(2, member.getEmail());
			preparedStatement.executeQuery();
		} catch(SQLException e) {
		
		}
		
		return member;
	}

}

dataSource.getConnection() 으로 connection 얻고,

connection.preparedStatement(sql) 로 PreparedStatement를 생성한 후

setString() , setLong() 으로 변수 세팅

resultSet.next()

resultSet의 핵심 동작원리는 cursor이다.

            while(resultSet.next()) { // resultset의 핵심 동작 원리?? => cursor
                // 문자열과
                Member member = new Member();
                member.setId(resultSet.getLong("id"));
                member.setName(resultSet.getString("name"));
                member.setEmail(resultSet.getString("email"));
//                member.setPassword(resultSet.getString("password"));
                memberList.add(member);
                connection.close();
            }