(Soring Boot) JDBC Template 쿼리문 과 업데이트 문 코드

2022. 6. 20. 16:00카테고리 없음

728x90

 pom.xml 파일이 읽을수있는 어플리케이션 파일에 

db 를 연결시켜주고 메모리에 로드할수있는 코드 비밀번호 아이디를 적어준다

close 나 con 은 따로 안해도 템플릿이 알아서 해준다

 

(람다식으로 적었음)

 // 람다식 으로 결과집합 을 가져오는 방법 ;

public List<Emp> getListAll()
{
String sql = "SELECT * FROM emp";
List<Emp>list = template.query(sql,(rs,i)->{
System.out.println(rs);
System.out.println(i);
Emp emp = new Emp();
emp.setEmpno(rs.getInt("EMPNO"));
emp.setEname(rs.getString("ENAME"));
emp.setHiredate(rs.getDate("HIREDATE"));
return emp;
});
return list;

 

 

 

// 쿼리문에 결과 집합에 특정 값을 입력하여 필요한 값만 가져오는  방법

public List<Emp> getListAll1(int deptno)
{
String sql = "SELECT * FROM emp WHERE deptno = ?";
List<Emp>list = template.query(sql,(rs,i)->{
System.out.println(rs);
System.out.println(i);
Emp emp = new Emp();
emp.setEmpno(rs.getInt("EMPNO"));
emp.setEname(rs.getString("ENAME"));
emp.setHiredate(rs.getDate("HIREDATE"));

return emp;
},deptno);

return list;

}

 

// insert 방법 

String sql = " INSERT INTO EMP " + "(EMPNO,  ENAME  ) " 
    + "  VALUES  (  ?  ,  ?  ) " ;
int a = template.update(sql, emp.getEmpno(), emp.getEname());

 

( 값이 저장 되었는지 확인 하기 위해서    a 의 값이 1보다 크면 true 를 return 하게끔 설정한다)
return a > 0;

 

 

//값을지정해서 key 까지 추출 하는 방법 

public int addAndgetKey(Emp emp) {
String sql = " INSERT INTO EMP " + "(EMPNO,  ENAME  ) " 
    + "  VALUES  (  ?  ,  ?  ) " ;

// 키보관통 의 객체를 만들어줘 키를 받을수 있게 끔 해준다,
KeyHolder KeyHolder = new GeneratedKeyHolder();
template.update(con ->{
PreparedStatement pstmt;
pstmt = con.prepareStatement(sql);
pstmt.setInt(1, emp.getEmpnum);
pstmt.setString(2,Emp.getName);
return pstmt;

 

//매게 값으로 keyHolder넘겨 주기 
},KeyHolder);

return KeyHolder.getKey().intValue();
}

728x90