首页 > 代码库 > hibernate用配置文件的方式实现orm
hibernate用配置文件的方式实现orm
本文主要讲用配置文件的方式讲如何把一个对象和数据库中的表关联起来,其实用配置文件本质是和用注解的方式是一样的。
思路:1.写一个domain对象(如Person.java)
2.写这个domain对象的配置文件:Person.hbm.xml。这个配置文件主要是把damain对象的属性和列名进行指定。以及domain的表名。主键生成策略。
3.在hibernate_cfg.xml中映射到Person.hbm.xml :
<mapping resource="com/qls/configurationFile/Person.hbm.xml"/>
domain对象Person的代码如下:
1 package com.qls.domain; 2 3 import java.util.Date; 4 5 /** 6 * Created by 秦林森 on 2017/5/21. 7 */ 8 public class Person { 9 private Integer id; 10 private String name; 11 private Date enterCampusDate; 12 13 public Integer getId() { 14 return id; 15 } 16 17 public void setId(Integer id) { 18 this.id = id; 19 } 20 21 public String getName() { 22 return name; 23 } 24 25 public void setName(String name) { 26 this.name = name; 27 } 28 29 public Date getEnterCampusDate() { 30 return enterCampusDate; 31 } 32 33 public void setEnterCampusDate(Date enterCampusDate) { 34 this.enterCampusDate = enterCampusDate; 35 } 36 }
Person.hbm.xml的文件的代码如下:
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC 3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 4 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 5 6 <hibernate-mapping package="com.qls.domain"> 7 <class name="Person" table="person"> 8 <id name="id" column="person_id"> 9 <generator class="native"/> 10 </id> 11 <property name="name"/> 12 <property name="enterCampusDate" type="timestamp"/> 13 </class> 14 </hibernate-mapping>
hibernate.cfg.xml文件的代码如下:
1 <?xml version=‘1.0‘ encoding=‘utf-8‘?> 2 <!-- 3 ~ Hibernate, Relational Persistence for Idiomatic Java 4 ~ 5 ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later. 6 ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. 7 --> 8 <!DOCTYPE hibernate-configuration PUBLIC 9 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 10 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 11 12 <hibernate-configuration> 13 14 <session-factory> 15 16 <!-- Database connection settings --> 17 <property name="connection.driver_class">oracle.jdbc.OracleDriver</property> 18 <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property> 19 <property name="connection.username">scott</property> 20 <property name="connection.password">a123456</property> 21 22 <!-- JDBC connection pool (use the built-in) --> 23 <property name="connection.pool_size">10</property> 24 25 <!-- SQL dialect --> 26 <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> 27 <!-- Echo all executed SQL to stdout --> 28 <property name="show_sql">true</property> 29 30 <!-- Drop and re-create the database schema on startup --> 31 <!-- <property name="hbm2ddl.auto">create</property>--> 32 33 <!-- Names the annotated entity class --> 34 <mapping class="com.qls.test.Ouyangfeng"/> 35 <mapping class="com.qls.domain.DiaoChan"/>
<!--Person.hbm.xml文件的位置--> 36 <mapping resource="com/qls/configurationFile/Person.hbm.xml"/> 37 </session-factory> 38 39 </hibernate-configuration>
测试类的代码如下:
1 package com.qls.test; 2 3 import com.qls.domain.Person; 4 import org.hibernate.Session; 5 import org.hibernate.SessionFactory; 6 import org.hibernate.Transaction; 7 import org.hibernate.cfg.Configuration; 8 9 import java.text.ParseException; 10 import java.text.SimpleDateFormat; 11 12 /** 13 * Created by ${秦林森} on 2017/5/21. 14 */ 15 public class Test3 { 16 public static void main(String[] args) throws Exception{
//得到会话工厂 17 SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); 18 Session session = sessionFactory.openSession(); 19 Transaction tx = session.beginTransaction();//开启事务。 20 Person person = new Person(); 21 person.setName("王昭君");
//赋予特定的时间类型格式。 22 person.setEnterCampusDate(new SimpleDateFormat("yyyy_MM_dd").parse("0093_07_01")); 23 session.save(person); 24 tx.commit();//提交事务。 25 //关闭回话: 26 session.close(); 27 } 28 }
hibernate用配置文件的方式实现orm
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。