1. 영속성(Persistence) 이란
2. ORM(Object Relational Mapping) 이란?
3. 하이버네이트
두번째 시간은 ORM이 낯설어서 용어정리나 기본 개념 정리가 필요할꺼 같았다.
영속성 이란 ORM(Object Relational Mapping)에서 사용하는 말로 클래스 객체파일로 맵핑된 메타데이터로 데이터베이스 테이블에 연결 후 복잡하고, 비즈니스 코드에 쓸데없는 코드없이 자동적으로 입력,조회,삭제 등을 하는 것을 말한다.
import java.sql.*;
public class WDB {
public static void main(String[] args) throws Exception{
//드라이버 로드
Connection con = null;
ResultSet rs = null;
PreparedStatement psmt = null;
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String id = "c##web";
String pw = "oracle";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url,id,pw);
System.out.println("DB정상연결");
} catch (Exception e) {
e.printStackTrace();
System.out.println("DB연결실패");
}
try {
String sql = "insert into " +
"department(deptno, deptname,floor) values (?,?,?)";
int deptno = 1;
String deptname = "deptname";
int floor = 1;
psmt = con.prepareStatement(sql);
psmt.setInt(1, deptno);
psmt.setString(2, deptname);
psmt.setInt(3, floor);
psmt.executeUpdate();
System.out.println("쿼리성공");
}catch(Exception e) {
e.printStackTrace();
System.out.println("쿼리실패");
}
}
}
// 출저 : https://m.blog.naver.com/bgpoilkj/221672288866
데이터베이스 테이블에 연결 후 복잡하고, 비즈니스 코드에 쓸데없는 코드없이 코드 예시
😁 어려운 언어로 ORM접근하기 어려움을 느끼게 할 것 같아 나름 쉽게 해석하였다.
- ORM이란 용어에도 나와있듯이 객체(Object)와 관계(Relation)을 연결(Mapping)해 주는 개념이다.
- ORM을 객체 지향 프로그래밍 관점에서 생각해보면, 관계형 데이터베이스에 제약을 최대한 받지 않으면서, 객체를 클래스로 표현하는 것과 같이 관계형 데이터베이스를 객체처럼 쉽게 표현 또는 사용하자는 것이다.
😁 데이터베이스 관해서만 듣다가, ORM이라는 단어를 접했을 때 낯선부분으로 배우지 않아야겠다는 생각이 들었다. 그런데 요즘 ORM을 공부하면서 기존 RDBMS의 기회비용을 절약할 수 있다는 것으로 필요성을 느끼고 있다.
하이버네이트 ORM(Hibernate ORM)은 자바 언어를 위한 객체 관계 매핑 프레임워크이다.
😁 우리가 전자정부에서 자주 사용하는 MyBatis라고 생각하면 될 꺼 같다.
https://www.inflearn.com 스프링 데이터 JPA -백기선
https://banner.godori.dev 배너생성기