Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

wintertreey 님의 블로그

DB 연동1/4_ 클래스내에서 직접 sql문 적기 본문

Spring

DB 연동1/4_ 클래스내에서 직접 sql문 적기

wintertreey 2024. 7. 14. 15:24

Spring에서 잘 쓰이는 db 연동방법은 하단처럼 4개. 

차례로 하나씩 살펴보려 한다. 

db 연동방법4
1. 클래스내에서 직접 sql문 기술
2. 스프링이 지원하는 jdbcdao support 사용
3. mybatis 프레임워크사용
4. jpa 사용

 


다이어그램 

spr13db_legacy 클래스 다이어그램


  

 

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

 

GitHub - yoonah0327/spring_source

Contribute to yoonah0327/spring_source development by creating an account on GitHub.

github.com

 

'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