Zero, 최대 절전 모드
최대 절전 모드는 최대 절전 모드를 의미하며,이 기사에서 논의 된 최대 절전 모드는 최대 절전 모드와 관련이 없지만 다음에 논의 할 SSH2 프레임 워크의 구성원입니다. 최대 절전 모드는 오픈 소스 프로젝트입니다. 객체 관계 모델의 프레임 워크이며 JDBC의 매우 가벼운 캡슐화를 가지고 있습니다. 프로그래머는 객체 프로그래밍 사고를 사용하여 개발 중에 개발할 수 있습니다.
다운로드 주소 : http://hibernate.org/orm/downloads/
참고 : 경량과 헤비급의 차이. 가벼운 프레임 워크 패키지는 작고 사용하기 쉽고 테스트하기 쉽고 개발 효율이 높습니다. 헤비급 프레임 워크 패키지가 더 크고 내부 포장의 비즈니스 프로세스는 스트럿과 같이 더 복잡하고 테스트하기가 어렵습니다.
객체 관계형 모델 :
최대 절전 모드는 객체 관계 모델의 매핑을 구현합니다. 프로그래밍시 프로그래머는 객체 모델을 직접 사용하여 데이터베이스를 작동 할 수 있습니다. 가벼운 중량은 JDBC를 캡슐화하고 사용하기가 간단한 데이터베이스 작업에 대한 SQL 문을 캡슐화합니다. 많은 장점이 있지만 저장 프로 시저 등과 같은 데이터베이스 특성과 함께 문을 사용하여 조정하기가 어렵습니다.
최대 절전 모드의 장단점 :
(1) 장점
A. 생산성 향상;
B. 개발을보다 객관화 (임피던스 불일치)로 만듭니다.
C. 휴대 성;
D. 침습성이없고 투명성과 지속성을지지합니다.
(2) 단점
A. 데이터베이스 특성을 사용하는 명령문은 조정하기가 어렵습니다.
B. 대규모 데이터 업데이트에는 문제가 있습니다.
C. 시스템에는 많은 수의 통계 쿼리 기능이 있습니다.
2. 최대 절전술 예
위의 기사는 최대 절전 모드에 대한 예비 해석을 제공합니다. 이론에는 더 많은 연습이 있습니다. 최대 절전 모드를 사용하지 않고는 편의를 이해하지 못합니다. 이것은 처음으로 Moutai 맛을 마시는 것을 좋아하는 사람과 같습니다. 그것을 사용한 후에 만 더 깊이 이해할 수 있습니다.
다음 예제는 MySQL 데이터베이스를 사용합니다. hibernate_first라는 데이터베이스가 MySQL에서 생성됩니다. 객체 프로그래밍 방법을 사용하여 최대 절전 모드 매핑 파일을 통해 사용자 테이블이 생성되고 사용자 테이블에 정보를 추가합니다.
특정 단계 :
(1) 정상적인 Java 응용 프로그램을 만듭니다.
(2) 최대 절전 모드의 항아리 패키지를 추가하십시오. JAR 패키지를 추가 할 때 Hibernate.jar, Hibernate에서 참조하는 타사 JAR 패키지 및 Hibernate 및 MySQL에 연결된 JAR 패키지를 소개해야합니다.
(3) 데이터베이스 연결 구성 파일 Hibernate.cfg.xml을 추가하십시오.
<? xml version = "1.0"encoding = "utf-8"?> <! doctype hibernate-configuration public "-// Hibernate/Hibernate Configuration dtd 3.0 // en" "http://hiberceforge.net/hibernate-configuration-3.0.0.dtd"> <Setsion-Factory> <속성 이름 = "Hibernate.connection.driver_class"> com.mysql.jdbc.driver </property> <property name = "hibernate.connection.url"> jdbc : // localhost : 3306/hibernate_first> <속성 name = "hibernate.connection.username"> root </property> <property name = "hibernate.connection.password"> ab12 </property> <!-방언 : 런타임과 유사한 캡슐화 된 캡슐화 된 캡슐화-구성에서 해당 언어로 변환합니다. 이름 = "hibernate.dialect"> org.hibernate.dialect.mysqldialect </property> <!-데이터베이스에서 데이터 표시 조작을 설정합니다-> <속성 이름 = "hibernate.show_sql"> true> <속성 이름 = "hibernate.format_sql"> <mapping. Resource = "com/hibernate/user.hbm.xml"/> </session-factory> </hibernate-configuration>
(4) user.java로 엔티티 클래스 이름을 만듭니다
패키지 com.hibernate; import java.util.date; 공개 클래스 사용자 {개인 문자열 ID; public String getId () {return id; } public void setId (String id) {this.id = id; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public String getPassword () {return password; } public void setpassword (문자열 비밀번호) {this.password = password; } 공개 날짜 getCreateTime () {return createTime; } public void setCreateTime (Date CreateTime) {this.createTime = createTime; } 공개 날짜 getExpiretime () {return expiretime; } public void setExpiretime (날짜 expiretime) {this.expiretime = expiretime; } 개인 문자열 이름; 개인 문자열 비밀번호; 개인 날짜 CreateTime; 사적 날짜 초기; } (5) 사용자 엔티티 클래스의 매핑 파일 user.hbm.xml을 생성하고 엔티티 클래스의 매핑을 완료하고 파일을 Hibernate.cfg.xml 파일에 추가하십시오.
<? XML 버전 = "1.0"?> <! DocType Hibernate Mapping Public "-// hibernate/hibernate 매핑 dtd 3.0 // <hibernate-mapping> <class name = "com.hibernate.user"> <id name = "id"> <generator/> </id> <속성 이름 = "name"/> <property name = "password"/> <property name = "createTime"/> <속성 이름 = "expiretime"/> </class> </hibernate-mapping>
(6) ExportDB.java를 쓰고 매핑 파일을 해당 DDL로 변환하십시오.
패키지 com.hibernate; import org.hibernate.cfg.configuration; import org.hibernate.tool.hbm2ddl.schemaexport; public class ExportDB {public static void main (String [] args) {// 구성 파일을 가져옵니다. // 기본 hibernate hibernate.cfg.xml 파일 구성 cfg = new configuration (); configure (); // XML 파일을 DDL로 내보내십시오 SchemaExport Export = New SchemaExport (CFG); Export.Create (True, True); }} ExportDB 클래스를 실행하여 데이터베이스 테이블의 생성을 완료하십시오. CMD에서 특정 작업을 본 후보기는 다음과 같습니다.
위의 예는 데이터베이스에 연결하고 데이터베이스에서 테이블을 작성하는 작업 만 완료합니다. 테이블을 만들면 테이블에 데이터를 추가하고 클라이언트 클래스 클라이언트를 만들고 사용자 테이블에 새 사용자 정보를 추가해야합니다. 특정 코드는 다음과 같습니다.
패키지 com.hibernate; import java.util.date; import org.hibernate.session; import org.hibernate.sessionfactory; import org.hibernate.cfg.configuration; 공개 클래스 클라이언트 {public static void main (String [] args) {// hibernate.cfg.xml 파일 구성 cfg = new configuration (). configure (); // 데이터베이스 미러와 동일한 SessionFactory를 작성합니다. SessionFactory는 거울이기 때문에 한 번/일반적으로 스레드 안전을 만드는 것이 가장 좋습니다. SessionFactory Factory = Cfg.BuildSessionFactory (); // 페치 된 세션 세션 세션 = null; try {session = factory.opensession (); // 트랜잭션 열기 세션 .BegIntransaction (); 사용자 user = 새 사용자 (); user.setName ( "Zhang San"); user.setpassword ( "123"); user.setcreateTime (새 날짜 ()); // 사용자 객체 세션을 저장합니다 .SAVE (사용자); // commit transaction session.getTransaction (). commit (); } catch (예외 e) {e.printstacktrace (); // 인쇄 오류 메시지 // 롤백 트랜잭션 세션 (). rollback (); } lasta {if (session! = null) {if (session.isopen ()) {// 세션 세션을 닫습니다 .Close (); }}}}}}}}}} 다음 그림과 같이 MySQL에서 추가 된 정보를보십시오.
위의 작업의 정보는 데이터베이스에 기록되었습니다. 데이터베이스에 데이터를 저장 한 후 해당 행이 데이터베이스에서 생성됩니다. 그러나 아직 저장되지 않았습니다. 대신 데이터베이스에는 해당 데이터 행이 있습니다. 세션을 사용한 트랜잭션 제출이 완료된 후 데이터가 데이터베이스에 제출됩니다.