IDEA 2019.3 Hibernate 의 자세 한 튜 토리 얼 설정(IDEA 의 자동 화 를 사용 하지 않 음)

준비 작업
순수한 자바 프로젝트 를 만 듭 니 다.아무것도 선택 하지 않 고 직접 만 듭 니 다.
在这里插入图片描述
在这里插入图片描述
데이터베이스,테이블 및 소량의 기록 만 들 기

CREATE DATABASE test;
USE test;
CREATE TABLE t_user(
ID INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20),
AGE int);
insert into testHibernate(NAME,AGE) VALUES
('  ',20),
('  ',21),
('  ',22)
IDEA 자체 데이터베이스 그래 픽 을 사용 하여 아래 와 같이 보기
在这里插入图片描述
IDEA 에서 데이터 베 이 스 를 연결 하 는 절 차 는 다음 과 같 습 니 다.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
배치 하 다.
설정 한 전체 파일 구 조 는 다음 그림 과 같 습 니 다.
在这里插入图片描述
관련 패키지 참조
메뉴 에서 File-Project Structure 선택
在这里插入图片描述
ProjectSettings 의 Libaries 를 선택 하고"+"번 호 를 클릭 하고 자바 를 선택 하 십시오.
在这里插入图片描述
Hibernate 관련 가방 가 져 오기.
hibenate 가방 을 넣 을 곳 을 찾 아 lib 아래 required 의 모든 가방 선택 에서 가 져 옵 니 다.
在这里插入图片描述
Hibernate 가방 안내 후 목록 에서'+'를 누 르 고 다른 가방 을 추가 합 니 다.
在这里插入图片描述
mysql 에 대한 가방 가 져 오기.
나 는 이전에 tomcat 에 있 는 것 을 사 용 했 는데,주로 너의 MySQL 버 전과 일치 해 야 한다.
在这里插入图片描述
마지막 결 과 는 다음 그림 과 같 습 니 다.Apply 애플 리 케 이 션 을 클릭 하 십시오.
在这里插入图片描述
아래 External Libararies 에서 어떤 가방 을 가 져 왔 는 지 볼 수 있 습 니 다.
在这里插入图片描述
실체 클래스(User.java)
데이터베이스 시트 에 대응 하 는 실체 클래스 를 만 듭 니 다.코드 는 다음 과 같 습 니 다.

package entity;

public class User {
    private int id;
    private String name;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
getter 와 setter 를 자동화 하 는 방법 에 대하 여
단축 키"Alt+Ins",오른쪽 단 추 를 눌 러 도 Generate 옵션 이 있 습 니 다.
在这里插入图片描述
생 성 할 속성 을 선택 하고 OK 를 누 르 십시오.
在这里插入图片描述
사용자 실체 클래스 설정(user.hbm.xml)

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="entity.User" table="t_user"><!-- name        ,table             -->
        <id name="id" column="id"><!-- id         ,column             (  id column      column) -->
            <generator class="native"/>
        </id>
        <property name="name" column="name"/>
        <property name="age" column="age"/>
    </class>
</hibernate-mapping>
Hibernate 프로필(hibernate.cfg.xml)

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!--     ,            ,       ,         -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- mysql   -->
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai</property><!--      ,   IDEA           URL -->
		<property name="hibernate.connection.username">root</property><!-- MySQL    -->
		<property name="hibernate.connection.password">123456</property><!-- MySLQ   -->
		<property name="show_sql">true</property>
		<mapping resource="entity/user.hbm.xml"/><!--   User      -->
	</session-factory>
</hibernate-configuration>
방언 선택
여기에 MySQL 에 관 한 세 가지 만 주 었 는데 상세 한 것 은 이 글 데이터베이스 방언 설정 을 참고 할 수 있 습 니 다.
관계 데이터베이스 관리 시스템
방언.
MySQL
org.hibernate.dialect.MySQLDialect
MySQL with InnoDB
org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM
org.hibernate.dialect.MySQLMyISAMDialect
InnoDB:
MySQL 의 기본 트 랜 잭 션 엔진 이자 가장 중요 하고 광범 위 한 저장 엔진 을 사용 합 니 다.그것 은 대량의 단기 사무 로 설계 되 었 고 단기 사 무 는 대부분 정상적으로 제출 되 었 으 며 스크롤 백 되 지 않 았 다.InnoDB 의 성능 과 자동 붕괴 복구 기능 은 비 사무 적 저장 수요 에서 도 유행 합 니 다.특별한 이유 가 없 는 한 다른 메모리 엔진 을 사용 해 야 하 며,그렇지 않 으 면 이 노 DB 엔진 을 우선 고려 해 야 한다.
MyISAM:
MySQL 5.1 및 이전 버 전에 서 는 MyISAM 이 기본 엔진 입 니 다.MyISAM 이 제공 하 는 대량의 특성 은 전체 텍스트 인덱스,압축,공간 함수(GIS)등 을 포함 하지만 MyISAM 은 사무 및 줄 잠 금 을 지원 하지 않 으 며 붕괴 후 안전하게 복구 할 수 없다 는 것 은 의심의 여지 가 없 는 결함 이다.바로 MyISAM 엔진 때문에 MySQL 이 업 무 를 지원 한 지 오래 되 었 음 에 도 불구 하고 많은 사람들의 개념 에서 MySQL 은 비 사무 형 데이터 베이스 입 니 다.그럼 에 도 불구 하고 그것 은 결코 옳 은 점 이 하나 도 없 는 것 이 아니다.읽 기 전용 데이터 나 표 가 작 아서 복구 작업 을 견 딜 수 있 으 면 MyISAM 을 사용 할 수 있 습 니 다(단,MyISAM 을 기본 으로 사용 하지 말고 InnoDB 를 기본 으로 사용 해 야 합 니 다)
설정 성공 여부 테스트
테스트 에 사용 할 파일 manegeUser.java 만 들 기

package dao;

import entity.User;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;

public class manageUser {
    public static void main(String[] args){
        Configuration cfg = null;
        SessionFactory sf = null;
        Session session = null;
        Transaction ts = null;
        User u = new User();
        u.setName("  ");
        u.setAge(66);
        try {
            cfg = new Configuration().configure();
            sf = cfg.buildSessionFactory();
            session = sf.openSession();
            ts = session.beginTransaction();
            session.save(u);
            ts.commit();
        }catch (HibernateException e){
            e.printStackTrace();
            if(ts != null){
                ts.rollback();
            }
        }finally {
            session.close();
            sf.close();
        }
    }
}
"Ctrl+Shift+F10"을 누 르 면 다음 과 같은 출력 을 볼 수 있 습 니 다.
在这里插入图片描述
그리고 기록 도 성공 적 으로 삽입 하 였 습 니 다.
在这里插入图片描述
설정 성공
IDEA 2019.3 설정 Hibernate 에 대한 자세 한 튜 토리 얼(IDEA 의 자동화 사용 하지 않 음)에 대한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 IDEA 2019.3 설정 Hibernate 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 관심 부탁드립니다!

좋은 웹페이지 즐겨찾기