Hibernate 에서 첨삭 검 사 를 실현 하 는 절차 에 대한 상세 한 설명

1.우선 우 리 는 하 이 버 네 이 트 가 무엇 인지 알 아야 한다.
하 이 버 네 이 트 는 경량급 ORMapping 대상 이다.주로 자바 와 데이터베이스 시트 간 의 매 핑 을 실현 하 는 데 사용 되 며,이 외 에 데이터 조회 와 데이터 획득 방법 도 제공 합 니 다.
개발 시 SQL 과 JDBC 를 인공 적 으로 사용 해 데 이 터 를 처리 하 는 시간 을 대폭 줄 이 고 프로그래머 의 임 무 를 95%해방 할 수 있다.
2.ORM 이란 무엇 인가  Object-Relational-Mapping 대상 관계 맵
ORM:자바 대상 을 통 해 데이터베이스 테이블 에 비 추어 자바 대상 을 조작 하면 데이터 테이블 에 대한 조작 을 완성 할 수 있 습 니 다.(Dbutils 를 사용한다 면 자바 류 에 sql 문 구 를 써 야 합 니 다.orm 은 사용 하지 않 습 니 다)
Hibernate 는 완전한 ORM 프레임 워 크 로 대상 의 조작 만 하면 밑바닥 의 SQL 을 생 성 할 수 있다.
다음은 바로 주제 로 들 어 갑 니 다:
먼저 hibenate 를 사용 하 는 기본 프로 세 스 를 보 세 요!다음은 간단 한 흐름 도 입 니 다.
 
1.항목 생 성:
my eclipse 로 웹 프로젝트 만 들 기
2.hibenate 와 관련 된 패 키 지 를 항목 으로 가 져 오기
 
세 번 째 단계:hibenate 설정
src 디 렉 터 리 에 xml 파일 을 새로 만 듭 니 다.이름 은 hibenate.cfg.xml 입 니 다.(물론 이 이름 을 부 르 지 않 아 도 되 지만 코드 에 해당 하 는 수정 을 해 야 합 니 다)다음 과 같은 내용 을 복사 합 니 다.

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 <hibernate-configuration>
 <!--        hibernate             -->
 <session-factory>
  <!-- 1.          -->
  <!-- 1.1  jdbc         -->
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.connection.password">root</property>
  <property name="hibernate.connection.url">jdbc:mysql:///hibernateexec</property>
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <!-- 1.2   hibernate      -->
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  <!-- 2.         -->
  <!-- 2.1     -->
  <property name="hibernate.hbm2ddl.auto">update</property>
  <!-- 2.2      sql -->
  <property name="hibernate.show_sql">true</property> 
  <!-- 2.3   sql -->
  <property name="hibernate.format_sql">true</property> 
  <!--      -->
  <property name="hibernate.connection.autocommit">true</property>
  <!--   c3p0       -->
  <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
  <property name="hibernate.c3p0.min_size">5</property>
  <property name="hibernate.c3p0.max_size">50</property>
  <property name="hibernate.c3p0.timeout">120</property>
  <property name="hibernate.c3p0.idle_test_period">3000</property>  
  <!-- 3.       -->
  <mapping resource="com/study/model/Customer.hbm.xml"/> 
 </session-factory> 
 </hibernate-configuration>
여기 알림:customer 표 는 수 동 으로 만 들 지 않 아 도 되 지만 데이터베이스 hibenatexec 는 수 동 으로 만 들 라 고 합 니 다.
네 번 째 단계.실체 와 맵 파일 만 들 기

public class Customer {
 private int id;
 private String name;
 private int age;
 private String city;
 private String addr;
}
/*
 *   set get  
 */
Customer   
맵 파일 과 실체 대상 이 같은 가방 에 있 습 니 다:

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
 <hibernate-mapping>
 <!--               -->
 <!-- 1.       -->
 <!-- 
  name         
  table          
  catalog          
 -->
 <class name="com.study.model.Customer" table="customer" catalog="hibernateexec">
  <!-- 2.                -->
  <!-- 2.1   -->
  <!-- 
  name    (  )
  column   (  )
  type     
  -->
  <id name="id" column="id" type="int">
  <!--                -->
  <generator class="identity"></generator>
  </id>
  <!-- 2.2      -->
  <!-- 
  name    (  )
  column   (  )
  type     (      String)
  -->
  <property name="name" column="name" type="java.lang.String"></property> 
  <property name="age" column="age" type="int"></property>
  <!--        -->
  <property name="city">
  <column name="city" sql-type="varchar(20)"></column>
  </property>
  <!--        ,                     addr,   varchar -->
 <property name="addr"></property> 
 </class>
 </hibernate-mapping>

Customer.hbm.xml
다섯 번 째 단계:SessionFactory 대상 만 들 기
STEP 6:세 션 대상 가 져 오기
다섯 번 째 단 계 는 여섯 번 째 단계 와 함께 있 습 니 다.여섯 번 째 단 계 는 첨삭 과 수정 을 막론하고 앞의 네 번 째 단 계 는 똑 같 습 니 다.우 리 는 사실 하나의 도구 류 를 추출 하여 다시 호출 할 수 있 습 니 다.이렇게 효율 을 가속 화 할 수 있 습 니 다.

import java.util.List;
 import org.hibernate.Query;
 import org.hibernate.SQLQuery;
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
 import org.hibernate.Transaction;
 import org.hibernate.cfg.Configuration;
 import org.junit.Test;
 import com.study.model.Customer;
 public class HibernateTest { 
 /*
  *     
  */
  @Test
  public void testInsert() {
  //                   hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  //       
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  //     
  Session session = sessionFactory.openSession();
  //     
  Transaction transaction = session.beginTransaction();
  //          
  Customer customer = new Customer();
  customer.setName("  ");
  customer.setAge(40);
  customer.setCity("  ");
  //     
  session.save(customer);
  //     
  transaction.commit();
  session.close();
  sessionFactory.close();
  } 
 //     
 @Test
 public void testFindAllByHQL(){
  //                   hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  //       
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  //     
  Session session = sessionFactory.openSession();
  //     
  Transaction transaction = session.beginTransaction();
  //  HQL  (          
  String hql =" from Customer";//   Customer           Customer
  Query query =session.createQuery(hql);
  List<Customer> customers=query.list();
  System.out.println(customers);
  //     
  transaction.commit();
 session.close();
  sessionFactory.close();
 }
 //   
 @Test
 public void testDelete() {
  //                   hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  //       
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  //     
  Session session = sessionFactory.openSession();
  //     
  Transaction transaction = session.beginTransaction();
 Customer customer =new Customer();
 customer.setId(2);
  session.delete(customer);
  //     
  transaction.commit();
  session.close();
  sessionFactory.close();
 }
 //   
 @Test
 public void testUpdate() {
  //                   hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  //       
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  //     
  Session session = sessionFactory.openSession();
  //     
  Transaction transaction = session.beginTransaction();
  Customer customer = (Customer) session.get(Customer.class, 2);
  customer.setCity("  ");
  session.update(customer);
  //     
  transaction.commit();
  session.close();
  sessionFactory.close();
 }
 //      id  
 @Test
 public void testFindById() {
  //                   hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  //       
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  //     
  Session session = sessionFactory.openSession();
  //     
  Transaction transaction = session.beginTransaction();
  Customer customer = (Customer) session.get(Customer.class, 1);
  System.out.println(customer);
  //     
  transaction.commit();
  session.close();
  sessionFactory.close();
 }
 }
실행 효과:첫 번 째 추가 사용 자 를 실행 할 때 종료 데이터 베 이 스 를 실행 하면 자동 으로 customer 표를 만 들 고 표 에 데 이 터 를 추가 합 니 다.

이렇게 해서 히 베 네 이 트 를 통 해 기본 적 인 첨삭 조 사 를 진행 하 게 되 었 습 니 다.
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기