히 버 네 이 트 주석(3)

Hibernate 는 ORM 솔 루 션 입 니 다.데이터베이스 에 대한 기본 동작 은 JDBC 에 의존 하기 때문에 먼저 JDBC 드라이버 를 가 져 와 야 합 니 다.여기 서 MySQL 을 사용 하기 때문에 MySQL 로 가 야 합 니 다.® Connector/J 에서 MySQL 을 가 져 온 JDBC 드라이버 입 니 다.
이 어 하 이 버 네 이 트 공식 홈 페이지 에서 하 이 버 네 이 트 3.2,하 이 버 네 이 트 Annotations 3.2 를 얻 었 다.
JDK 5.0 을 설치 해 야 Hibernate Annotations 기능 을 사용 할 수 있 습 니 다.
Hibernate 3.2 의 zip 파일 을 풀 면 그 중의 hibernate 3.jar 가 필요 합 니 다.lib 디 렉 터 리 에는 많은 jar 파일 이 포함 되 어 있 습 니 다.Hibernate 3.0 공식 참고 매 뉴 얼 에서 이러한 jar 에 관 한 설명 을 찾 을 수 있 습 니 다.그 중에서 필요 한 것 은 antlr,dom4j,CGLIB,asm,Commons Collections,Commons Logging,EHcache 입 니 다.Hibernate 밑바닥 에 자바 Transaction API 가 필요 하기 때문에 jta.jar 가 필요 합 니 다.
Hibernate Annotations 3.2 의 zip 파일 을 풀 려 면 hibernate-annotations.jar,ejb3-persistence.jar 두 파일 이 필요 합 니 다.
여기까지 총 다음 jar 파일 이 필요 합 니 다:
Hibernate 는 단일 컴퓨터 에서 도 실행 할 수 있 고 웹 프로그램 에서 도 실행 할 수 있 습 니 다.단일 컴퓨터 에서 실행 된다 면 사용 하 는 jar 파일(JDBC 드라이버 포함)을 CLASSPATH 에 설정 하고 웹 프로그램 에서 실행 된다 면 jar 파일 을 WEB-INF/lib 에 두 십시오.
추가 라 이브 러 리 가 필요 하 다 면 JUnit,Proxool 등 필요 에 따라 가입 하 십시오.다음은 etc 디 렉 터 리 에 있 는 log4j.properties 를 Hibernate 프로젝트 의 Classpath 에 복사 하고 그 중의 log4j.logger.org.hibenate 를 error 로 수정 할 수 있 습 니 다.즉,오류 가 발생 했 을 때 만 필요 한 메 시 지 를 표시 하 는 것 입 니 다.
이 어 기본 Hibernate 프로필 을 설정 하고 XML 또는 Properties 파일 을 사용 할 수 있 습 니 다.여 기 는 XML 을 먼저 사용 하고 파일 이름 은 hibernate.cfg.xml 로 미리 설정 합 니 다.
<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  
<hibernate-configuration> 
    <session-factory> 
        <!--            SQL --> 
        <property name="show_sql">true</property> 
        <!-- SQL  ,      MySQL --> 
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
        <!-- JDBC     --> 
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
        <!-- JDBC URL --> 
        <property name="connection.url">jdbc:mysql://localhost/demo</property> 
        <!--        --> 
        <property name="connection.username">root</property> 
        <!--       --> 
        <property name="connection.password">123456</property> 
 
        <!--                  -->
        <mapping class="onlyfun.caterpillar.User"/> 
    </session-factory> 
</hibernate-configuration>

 
여 기 는 간단 한 단일 프로그램 으로 Hibernate 의 설정 과 기능 을 시범 합 니 다.먼저 데이터 베 이 스 를 준비 하고 MySQL 에 demo 데이터 베 이 스 를 추가 하 며 user 표를 만 듭 니 다.CREATE TABLE user(CREATE TABLE user)    id INT(11) NOT NULL auto_increment PRIMARY KEY,    name VARCHAR(100) NOT NULL default '',    age INT);이 표 에 대해 서 는 User 클래스 가 대응 합 니 다.표 의 모든 필드 는 User 인 스 턴 스 의 Field 구성원 에 대응 합 니 다.
package onlyfun.caterpillar;
 
import javax.persistence.*;
 
@Entity
@Table(name="user") //    ,               
public class User {
  @Id
  @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;
  
  @Column(name="name") //    ,               
    private String name;
  
  @Column(name="age") 
    private Integer age; //    ,               
    
    //              
    //    Hibernate    Constructor.newInstance()    
    public User() {
    }
 
    public Integer getId() {
        return id;
    }
 
    public void setId(Integer id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
    
    public Integer getAge() {
        return age;
    }
 
    public void setAge(Integer age) {
        this.age = age;
    }
}

 
그 중에서 id 는 특수 한 속성 입 니 다.Hibernate 는 이 를 메 인 키 로 인식 합 니 다.메 인 키 가 생 성 되 는 방식 을 정의 할 수 있 습 니 다.여 기 는 메 인 키 가 자동 으로 생 성 되 는 것 으로 설정 되 어 있 습 니 다.보 실 수 있 습 니 다.실체 표지,메 인 키 생 성,그리고 관련 이미 지 는 모두 Annotation 으로 완성 할 수 있 습 니 다.
그 다음 에 테스트 프로그램 을 작성 합 니 다.이 프로그램 은 자바 프로 그래 밍 직원 들 이 잘 아 는 문법 방식 으로 대상 을 조작 하고 실제 적 으로 데이터 베 이 스 를 직접 완성 합 니 다.프로그램 은 데 이 터 를 표 에 저장 합 니 다.
package onlyfun.caterpillar;
 
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction; 
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration; 
 
public class HibernateAnnotationDemo {
 
    public static void main(String[] args) {
        //   AnnotationConfiguration  Annotation  
        Configuration config = new AnnotationConfiguration().configure();
        //    config    SessionFactory
        // SessionFactory       Session
        SessionFactory sessionFactory = config.buildSessionFactory(); 
 
        //        
        User user = new User(); 
        user.setName("caterpillar"); 
        user.setAge(new Integer(30));     
 
        //   Session,     JDBC Connection
        Session session = sessionFactory.openSession(); 
        // Transaction        
        Transaction tx= session.beginTransaction(); 
        //               
        session.save(user); 
        tx.commit(); 
        session.close(); 
        sessionFactory.close(); 
       
        System.out.println("    OK!   MySQL    !"); 
    }
}

 Annotation 을 사용 할 때 필요 한 것 은 AnnotationConfiguration 클래스 입 니 다.
보시 다시 피 프로그램 에서 User 대상 을 직접 조작 하고 Session 과 Transaction 에 관 한 조작 을 하면 Hibernate 는 자동 으로 데이터 베 이 스 를 조작 합 니 다.JDBC 나 SQL 의 진술 이 보이 지 않 습 니 다.상기 각 파일 을 작성 한 후에 각 파일 의 배치 위 치 는 다음 과 같 습 니 다.
이어서 프로그램 을 시작 할 수 있 습 니 다.결 과 는 다음 과 같 습 니 다.
Hibernate: insert into user (name, age) values (?, ?)추가 자료 OK!먼저 MySQL 로 결 과 를 보 세 요!

좋은 웹페이지 즐겨찾기