JDBC

[JDBC] Connection과 PreparedStatement, 그리고 ResultSet
이번에 자바로 ORM 기술을 이용하지 않고 JDBC를 구현하는 미션을 하게 되어 자바 코드에서 DB에 쿼리를 발생시키기까지 모든 단계를 구현해야 했다. 그중 가장 핵심인 Connection과 PreparedStatement를 제대로 알 필요가 있다고 생각해서 정리하게 되었다. Connection 데이터베이스와의 세션을 정의한다. 따라서 MySQL 워크벤치에서 커넥션을 생성할 때처럼, 연결을 위한 정보들이 필요하다. url, username, password이 그것이다. DriverManager.getConnection() 메서드를 사용해서 생성할 수 있으며, 나는 SampleDb라는 클래스에 해당 커넥션 정보들을 필드로 두고, 생성자를 통해 주입받을 수 있도록 했다. @Data public class S..

[Spring DB] JDBC Template 사용하기
순서대로 바인딩 String sql = "update item set item_name=?, price=?, quantity=? where id=?"; template.update(sql, itemName, price, quantity, itemId); 위와 같이 사용할 경우 순서를 잘 지키는 것이 중요하다. 일일이 바인딩을 해야 하므로, 순서가 바뀌면 값이 잘못 바인딩 되는 경우가 생긴다. 코드를 몇줄 줄이는 편리함도 중요하지만, 모호함을 제거해서 코드를 명확하게 만드는 것이 좋다 이름 지정 바인딩(권장) JdbcTemplate에서 위와 같은 문제를 보완하기 위해 NamedParameterJdbcTemplate 이라는 이름을 지정해서 파라미터를 바인딩 하는 기능을 제공하고 있다. Map Map을 사용해..