> Java > java지도 시간 > 최대 절전 모드를 사용하여 개인 데이터 테이블에 대한 작업 구현

최대 절전 모드를 사용하여 개인 데이터 테이블에 대한 작업 구현

零下一度
풀어 주다: 2017-07-26 16:39:09
원래의
1478명이 탐색했습니다.

 Hibernate는 이름에서 알 수 있듯이 핵심 아이디어는 객체를 통해 데이터베이스의 정보를 조작할 수 있는 ORM(Object Relational Mapping)입니다. 개발자는 데이터베이스 SQL 문에 익숙하지 않다고 합니다. 이는 개발자가 데이터베이스를 작동하기 위해 SQL 문에 익숙할 필요가 없으며 자동으로 SQL 문을 생성하고 실행할 수 있습니다.

hibernate를 사용하면 개발자가 객체 지향적 사고를 완벽하게 사용하여 데이터베이스를 운영할 수 있으므로 다음 데모에는 SQL 문이 있는 경우 말하지 않은 것처럼 처리해 주세요!

이 기사에서는 최대 절전 모드를 사용하여 개인 데이터 테이블에 대한 간단한 기본 추가, 삭제, 수정 및 쿼리 작업을 구현합니다.

Preparation

Environment: win7+eclipse

Toolkit: 다운로드할 수 있는 hibernate 패키지, 버전 4가 사용됩니다.

데이터베이스 연결 드라이버 패키지, 이 예에서는 mysql이 사용됩니다. 프로그램 구조 다이어그램

pojo 레이어 엔터티 클래스

package demo.pojo;
public class Person {private Integer id;private String name;private String gender;private Integer age;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 String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "Person [id=" + id + ", name=" + name + ", gender=" + gender + ", age=" + age + "]";}}
로그인 후 복사

핵심 구성 파일 hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 以下四行分别为:数据库驱动类、Drivermanager获取连接的参数URL、用户名、密码  -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1/web?characterEcoding=utf-8</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<!-- 设置方言,hibernate会根据数据库的类型相应生成SQL语句 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 控制台显示生成的sql语句,默认为false -->
<property name="show_sql">true</property>
<!-- 映射配置源文件的位置 -->
<mapping resource="demo/pojo/Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
로그인 후 복사

매핑 파일 Person.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- name是实体类全名,table为数据表名 -->
<class name="demo.pojo.Person" table="Person">
<id name="id" column="id">
<!-- 主键生成方式,native是让hibernate自动识别 -->
<generator class="native"></generator>
</id>
<!--
로그인 후 복사

참고:

0.name 값은 속성 이름입니다. 엔터티 클래스에서 열은 데이터 테이블의 필드 이름입니다.
1. 엔터티 클래스의 속성 이름이 해당 데이터 테이블 필드 이름과 동일한 경우 다음 열을 생략할 수 있으며 최대 절전 모드는 자동으로 일치합니다. 예를 들어 age 아래;
2. 반대로 엔터티 클래스의 속성 이름이 해당 데이터 테이블 필드 이름과 다른 경우 아래에 성별, 성별 등 두 항목을 모두 작성해야 합니다.

<property name="name" column="name"></property>
<property name="gender" column="sex"></property>
<property name="age"></property>
</class>
</hibernate-mapping>
로그인 후 복사

테스트 클래스 TestPerson
package demo.util;
import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;
public class HibernateSessionFactory {private static SessionFactory factory;private static ThreadLocal<Session> thread = new ThreadLocal<Session>();private static String path = "hibernate.cfg.xml";private static Configuration config = new Configuration();static {config.configure(path);ServiceRegistry service = new ServiceRegistryBuilder()//定义一个服务注册机.applySettings(config.getProperties()).buildServiceRegistry();factory = config.buildSessionFactory(service);//创建Session工厂类}/** * 从hibernate的session工厂类里创建一个session * @return * */public static Session getSession() {Session session = thread.get();if(session == null || !session.isOpen()) {session = factory.openSession();thread.set(session);}return session;}public static void closeSession() {Session session = thread.get();if(session != null && session.isOpen()) {session.close();thread.set(null);}}}
로그인 후 복사

위 내용은 최대 절전 모드를 사용하여 개인 데이터 테이블에 대한 작업 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿