Hibernate 에서 첨삭 검 사 를 실현 하 는 절차 에 대한 상세 한 설명
하 이 버 네 이 트 는 경량급 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 표를 만 들 고 표 에 데 이 터 를 추가 합 니 다.이렇게 해서 히 베 네 이 트 를 통 해 기본 적 인 첨삭 조 사 를 진행 하 게 되 었 습 니 다.
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA 및 PostgreSQL 텍스트다음은 의 친구들과 논의한 후 오랫동안 초안으로 작성한 블로그 게시물이며 ( ) 주제에 대한 훌륭한 기사를 작성했기 때문에 여기에 작은 테스트를 게시하고 있습니다. JPA 주석 없이 String를 선언합니다. 재현하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.