기본 콘텐츠로 건너뛰기

Spring JdbcTemplate

문법
@Autowired private JdbcTemplate jdbcTemplate;

query
jdbcTempalte.query(sql, (rs,i)->{ 
    Emp emp = new Emp();
    emp.setEmpno(rs.getInt("EMPNO"));
    emp.setEname(rs.getString("ENAME"));
    ...
    return emp;
}, Object...); // select, RowMapper 함수형 인터페이스, ORM(Object Relational Mapping) 오라클 데이터의 한행과 자바의 한 객체와 연결한다, List<Emp>로 반환한다

update
jdbcTemplate.update(sql, Object...); // insert, update, delete

dao
@autowired private DAO dao;

Sequence(GeneratedKeyHolder) 사용법
어떤 컬럼이 PK인지 인식을 시켜줘야함
GeneratedKeyHolder kh = new GeneratedKeyHolder();
jdbcTemplate.update((conn)->{
    PreparedStatement pstmt;
    String sql = "INSERT INTO emp3 (empno,...) VALUES (?,...)";
    pstmt = conn.prepareStatement(sql, new String[]{"empno"});
    pstmt.setInt(emp.getEmpno());
    ...
    return pstmt;
}, kh);
GeneratedKeyHolder 키 값 가져오기
int insertedEmpno = kh.getKey().intValue();
return insertedEmpno;

이 블로그의 인기 게시물