스프링 JPA 핵심개념 두번째

놀아·2020년 12월 15일
0

스프링 데이터 JPA

목록 보기
2/2
post-thumbnail

🎈 목차

1. 영속성(Persistence) 이란
2. ORM(Object Relational Mapping) 이란?
3. 하이버네이트

두번째 시간은 ORM이 낯설어서 용어정리나 기본 개념 정리가 필요할꺼 같았다.

1. 영속성(Persistence) 이란?

1. 정의

영속성 이란 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접근하기 어려움을 느끼게 할 것 같아 나름 쉽게 해석하였다.

2. ORM(Object Relational Mapping)이란?

1. 정의

  • ORM이란 용어에도 나와있듯이 객체(Object)와 관계(Relation)을 연결(Mapping)해 주는 개념이다.
  • ORM을 객체 지향 프로그래밍 관점에서 생각해보면, 관계형 데이터베이스에 제약을 최대한 받지 않으면서, 객체를 클래스로 표현하는 것과 같이 관계형 데이터베이스를 객체처럼 쉽게 표현 또는 사용하자는 것이다.

😁 데이터베이스 관해서만 듣다가, ORM이라는 단어를 접했을 때 낯선부분으로 배우지 않아야겠다는 생각이 들었다. 그런데 요즘 ORM을 공부하면서 기존 RDBMS의 기회비용을 절약할 수 있다는 것으로 필요성을 느끼고 있다.

3. 하이버네이트

1. 정의

하이버네이트 ORM(Hibernate ORM)은 자바 언어를 위한 객체 관계 매핑 프레임워크이다.

😁 우리가 전자정부에서 자주 사용하는 MyBatis라고 생각하면 될 꺼 같다.

참고

https://www.inflearn.com 스프링 데이터 JPA -백기선
https://banner.godori.dev 배너생성기

profile
머리가 나쁘기 때문에 메모와 정리를 한뒤에 찾아보기

0개의 댓글