JAVA/ORM
-
[JSP] MyBatis 적용_2(어노테이션 없이)JAVA/ORM 2024. 7. 30. 18:56
HTML 삽입미리보기할 수 없는 소스 https://hi-hahahoho.tistory.com/93저번 글에서는 configuration.xml과 sqlMapConfig.java 설정을 자세히 봤다. 이번에는 DataMapper.xml과 DAO간 어떻게 사용되는지 정리하겠다. jsp와 같은 앞단은 특별히 달라지는 것은 없다. ✔ DataDao⌨ SqlSessionMyBatis에서 데이터베이스와 실제 세션(sql 쿼리 실행을 준비)을 나타내는 객체이다. SQL 실행 및 트랜잭션 관리를 담당한다. openSession() 메서드를 호출하여 기본 세션을 열고 작업이 끝나면 해당 객체를 해제한다. 🔦 MyBatis는 List 자료구조를 반환한다. 여러 행을 조회할때, 해당 테이블의 모든 행을 조회하고 각 행을 ..
-
SqlSessionFactory 클래스 정리JAVA/ORM 2024. 7. 29. 19:22
▤ 목차" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 MyBatis를 배우는데 자연스럽게 사용하지만 궁금한 인터페이스가 있었다.SqlSessionFactory는 MyBatis 프레임워크에서 중요한 인터페이스 중 하나이다.이 인터페이스는 데이터베이스와의 연결을 설정하고 SQL 세션을 생성하는 역할을 한다.이름에서 알 수 있는 점은, Factory 패턴이 사용되었다는 점이다. ✔ SqlSessionFactory 인터페이스 정의SqlSessionFactory는 MyBatis에서 DB와의 연결을 설정하고 SQL 세션을 생성하는 인터페이스이다.MyBatis는 데이터베이스 접근 계층을 제공한다.개발자는 SQL 매퍼 파일을 통해 SQL 쿼리와 자바 객체 간의 매핑을 할 수 있다. ⌨..
-
[JSP] MyBatis 적용 (ORM/ 어노테이션 없이)JAVA/ORM 2024. 7. 29. 01:08
HTML 삽입미리보기할 수 없는 소스 ✔ ORM (Object Relation Mapping)✏️ 개념ORM이란 객체와 DB의 테이블을 Mapping 시켜 RDB 테이블을 객체지향적으로 사용할 수 있게 해주는 기술이다.관계형 데이터베이스 시스템 (MySQL, PostgreSQL..)은 테이블과 열로 구성된 데이터를 사용한다. 데이터는 객체이며 독립된 데이터와 독립된 함수를 지닌다. 객체지향 프로그래밍 언어( JAVA .. )는 클래스와 객체로 데이터를 구성한다. RDB 테이블은 객체지향적 특성(상속, 다형성 .. )* 등이 없어서 JAVA와 같은 객체지향적 언어로 접근하는 것이 쉽지 않다. 이러한 (객체 모델과 관계형 모델 간의) 불일치를 해결하기 위해서 ORM을 사용하면 보다 객체지향적으로 RDB를 사..
-
java에서 jpa 사용해보기 _ CRUD (JPA를 사용한 DML처리)JAVA/ORM 2024. 6. 19. 18:37
▤ 목차" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스✔ 기본 환경설정resources 패키지에 META-INF와 logback.xml 파일을 생성하고 필요한 값을 설정해 줬다.META-INF 패키지 안에 persistences 파일을 생성하고 필요한 값을 설정해 줬다. //SangpumCRUD 클래스public class SangpumCRUD { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("gojpa"); //Factory : 객체를 싱글톤으로 만들고있다. //EntityManager : thread ..
-
jpa) DB와 매핑 어노테이션 @Entity, @Table, @Id, @ColumnJAVA/ORM 2024. 5. 14. 18:25
▤ 목차" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스어노테이션이란?자바 컴파일러에게 문법 에러를 체크하도록 정보를 제공하기 위해 사용되는 클래스이다.프로그램을 빌드할때 코드를 자동으로 생성할 수 있도록 정보를 제공한다.런타임에 특정 기능을 실행하도록 정보를 제공한다.개발자 입장에서 더욱 직관적이기에 코드를 이해하기 쉽다.다른 사람에게 설명할 수 있도록 정보를 제공한다.기본 코드public class SangpumTable { private int code; private String sang; private int su; private int dan; public SangpumTable() { // jpa에서 생성자는 비어있어도 무조건 적어줘야한다. }데이터베이스 ✔ @..