[Spring] - Spring JDBC Template (2) : select 처리
○ Spring JDBC Template (2) : select 처리 |
단 두 줄만 사용하면 깔끔하게 출력이 된다 이전에 예외처리 해주고 연결해주고 등의 복잡하고 긴 코드들을 안써도 되니 얼마나 편한가... 전체 데이터를 받아올때는 template.query() 를 쓰고 특정 데이터를 받아올때는 template.queryForObject() 를 쓴다 // ArrayList 형태로 데이터베이스에서 select 해서 가져오는 구문 (JDBC Template 사용 후) public ArrayList<BDto> list() { // ArrayList<BDto> dtos = new ArrayList<BDto>(); // 데이터 담을 ArrayList 생성 String query = "select bId, bName, bTitle, bContent, bDate, bHit, bGroup, bStep, bIndent from mvc_board order by bGroup desc, bStep asc"; // select 사용하기 위해 query() 메소드를 사용한다 // query문을 넣어주고, 데이터를 가져올 커맨드 객체를 타입과 명시 return (ArrayList<BDto>) template.query(query, new BeanPropertyRowMapper<BDto>(BDto.class)); // dtos = (ArrayList<BDto>) template.query(query, new BeanPropertyRowMapper<BDto>(BDto.class)); // return dtos; } // ArrayList 형태로 데이터베이스에서 select 해서 가져오는 구문 (JDBC Template 사용 전) public ArrayList<BDto> list() { ArrayList<BDto> dtos = new ArrayList<BDto>(); Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null;
try { connection = dataSource.getConnection(); String query = "select bId, bName, bTitle, bContent, bDate, bHit, bGroup, bStep, bIndent from mvc_board order by bGroup desc, bStep asc"; preparedStatement = connection.prepareStatement(query); resultSet = preparedStatement.executeQuery();
while (resultSet.next()) { int bId = resultSet.getInt("bId"); String bName = resultSet.getString("bName"); String bTitle = resultSet.getString("bTitle"); String bContent = resultSet.getString("bContent"); Timestamp bDate = resultSet.getTimestamp("bDate"); int bHit = resultSet.getInt("bHit"); int bGroup = resultSet.getInt("bGroup"); int bStep = resultSet.getInt("bStep"); int bIndent = resultSet.getInt("bIndent");
BDto dto = new BDto(bId, bName, bTitle, bContent, bDate, bHit, bGroup, bStep, bIndent); dtos.add(dto); } } catch (Exception e) { e.printStackTrace(); } finally { try { if(resultSet != null) resultSet.close(); if(preparedStatement != null) preparedStatement.close(); if(connection != null) connection.close(); } catch (Exception e) { e.printStackTrace(); } } return dtos; } // 데이터베이스에서 특정 부분만 select 해서 가져오는 구문 (JDBC Template 사용 후) public BDto contentView(String strID) { String query = "select * from mvc_board where bId = " + strID; // 특정 부분을 select 사용하기 위해 queryForObject() 메소드를 사용한다 // query문을 넣어주고, 데이터를 가져올 커맨드 객체를 타입과 명시 return template.queryForObject(query, new BeanPropertyRowMapper<BDto>(BDto.class)); } |
'Spring' 카테고리의 다른 글
[Spring] - Spring Security (1) : 보안 관련 설정하기 (0) | 2018.07.25 |
---|---|
[Spring] - Spring JDBC Template (3) : insert update, delete 처리 (0) | 2018.07.24 |
[Spring] - Spring JDBC == JDBC (1) Template 사용하기 위한 설정 (0) | 2018.07.18 |
[Spring] - 오라클 연동 시 HTTP Status 500 - Servlet.init() for servlet appServlet threw exception 에러 (0) | 2018.07.18 |
[Spring] - 프로젝트 설계 및 커맨드 인터페이스와 클래스 (중요) (0) | 2018.07.17 |