wintertreey 님의 블로그
DB 연동1/4_ 클래스내에서 직접 sql문 적기 본문
Spring에서 잘 쓰이는 db 연동방법은 하단처럼 4개.
차례로 하나씩 살펴보려 한다.
db 연동방법4
1. 클래스내에서 직접 sql문 기술
2. 스프링이 지원하는 jdbcdao support 사용
3. mybatis 프레임워크사용
4. jpa 사용
다이어그램
DB연동을 위해 pom.xml에 추가적으로 db관련 dependency들을 기입해줌.
SangpumImpl.java에서 디비연동을 위해 클래스에서 디비연동을 해준다.
어노테이션부분을 보면 repository. db연동목적의 클래스임을 확인할 수 있다.
@Repository
public class SangpumImpl implements SangpumInter {
private Connection conn;
private PreparedStatement pstmt;
private ResultSet rs;
public SangpumImpl() {
try {
Class.forName("org.mariadb.jdbc.Driver");
} catch (Exception e) {
System.out.println("driver loading fail!: "+ e.getMessage());
}
}
배열로 값을 불러와(rs.getString), 넣어준다(set).
@Override
public ArrayList<SangpumDto> selectAll() {
ArrayList<SangpumDto> list = new ArrayList<SangpumDto>();
try {
conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/test", "root", "123");
pstmt = conn.prepareStatement("select * from sangdata");
rs= pstmt.executeQuery();
while(rs.next()) {
SangpumDto dto = new SangpumDto();
dto.setCode(rs.getString("code"));
dto.setSang(rs.getString("sang"));
dto.setSu(rs.getString("su"));
dto.setDan(rs.getString("dan"));
list.add(dto);
}
} catch (Exception e) {
System.out.println("selectAll err: "+e);
}finally {
try {
if(rs != null) rs.close();
if(pstmt != null) pstmt.close();
if(conn != null) conn.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
return list;
}
Main에서 실행했을 때 나오는 결과물.
전체적인 소스코드는 깃허브의 spr13db_legacy를 참고하자.
https://github.com/yoonah0327/spring_source.git
'백엔드 > Spring' 카테고리의 다른 글
DB 연동3/4_mybatis. lombok annotation. (0) | 2024.07.14 |
---|---|
DB 연동 2/4_ JdbcDaoSupport (1) | 2024.07.14 |
Spring Boot 환경설정 (0) | 2024.07.10 |
AOP란? Proxy란? (0) | 2024.07.08 |
@Qualifier, @Resource, @Value (0) | 2024.07.07 |