(1)引入jar包

(2)配置

(3)测试


1、引入jar包


引入mysql jar包


mysql-connector-java-5.1.38-bin.jar


引入c3p0 jar包


c3p0-0.9.1.2.jar


引入hibernate相关jar包 (hibernate-distribution-3.6.0.Final)


antlr-2.7.6.jar

commons-collections-3.1.jar

dom4j-1.6.1.jar

hibernate3.jar

hibernate-jpa-2.0-api-1.0.0.Final.jar

javassist-3.12.0.GA.jar

jta-1.1.jar

slf4j-api-1.6.1.jar



2、配置


2.1、添加实体类:Person.java

packagecom.rk.test.entity;/***实体层Person类DTO***/publicclassPerson{privateStringpId;privateStringpName;privateintpVersion;publicStringgetpId(){returnpId;}publicvoidsetpId(StringpId){this.pId=pId;}publicStringgetpName(){returnpName;}publicvoidsetpName(StringpName){this.pName=pName;}publicintgetpVersion(){returnpVersion;}publicvoidsetpVersion(intpVersion){this.pVersion=pVersion;}@OverridepublicStringtoString(){return"Person[pId="+pId+",pName="+pName+",pVersion="+pVersion+"]";}}


2.2、添加映射文件:Person.hbm.xml

<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mappingpackage="com.rk.test.entity"auto-import="true"><classname="Person"table="T_Person"><idname="pId"column="id"type="string"length="32"><generatorclass="uuid.hex"></generator></id><versionname="pVersion"column="version"type="integer"></version><propertyname="pName"column="name"type="string"></property></class></hibernate-mapping>


2.3、添加Hibernate配置文件:hibernate.cfg.xml

<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><!--通常,一个session-factory节点代表一个数据库--><session-factory><!--1.数据库连接配置--><propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><propertyname="hibernate.connection.url">jdbc:mysql:///tax_sys</property><propertyname="hibernate.connection.username">root</property><propertyname="hibernate.connection.password">root</property><!--数据库方言配置,hibernate在运行的时候,会根据不同的方言生成符合当前数据库语法的sql--><propertyname="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property><!--2.其他相关配置--><!--2.1显示hibernate在运行时候执行的sql语句--><propertyname="hibernate.show_sql">true</property><!--2.2格式化sql--><propertyname="hibernate.format_sql">false</property><!--2.3自动建表--><propertyname="hibernate.hbm2ddl.auto">update</property><!--配置session的创建方式:线程方式创建session对象--><propertyname="hibernate.current_session_context_class">thread</property><!--3.加载所有映射--><mappingresource="com/rk/test/entity/Person.hbm.xml"/></session-factory></hibernate-configuration>


3、测试

测试两方面:第一是能从数据库读取一条数据,第二是能向数据库保存一条数据

packagecom.rk.test;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;importorg.junit.Before;importorg.junit.Test;importcom.rk.test.entity.Person;publicclassTestHibernate{privateSessionFactorysf;@Beforepublicvoidinit(){sf=newConfiguration().configure("hibernate.cfg.xml").buildSessionFactory();}@Testpublicvoidtest(){Sessionsession=sf.getCurrentSession();session.beginTransaction();Personp=(Person)session.get(Person.class,"4028d081564a762001564a76221e0000");System.out.println(p);Personp2=newPerson();p2.setpName("Tomcat");session.save(p2);session.getTransaction().commit();}}