문법
@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;