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 }
时间: 2024-11-03 01:38:18

hibernate用配置文件的方式实现orm的相关文章

hibernate用注解的方式实现orm

hibernate 有两种方式实现把一张表映射成一个对象,一种是配置文件的方式,一种是注解的方式.这里用hibernate提供的注解的方式实现一个对象和一张表之间的对应. 思路: 首先在hibernate.cfg.xml文件中配置如下内容:数据库,方言,是否显示sql,加载映射类:注意这个hibernate.cfg.xml位置在src下. 因为new Configuration().configure().这个configure()函数打开源码默认的hiberante.cfg.xml就在src下

2018.10.6 Hibernate配置文件详解-------ORM元数据配置 &amp;&amp;&amp; hibernate主配置文件

ORM既然是实体与关系数据库的映射,那就需要建立实体和关系数据库之间的基础数据,也可以称为元数据.简单的说就是表示类与表.列与属性(get.set方法)等等之间对应关系的数据. Customer.hbm.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Configuration DTD

Hibernate学习笔记(一) — hibernate的配置文件简介与执行原理

一.初识Hibernate 1.JDBC的缺点: 1).编写代码的时候过于繁琐,try和catch比较多2).没有做数据缓存 3).不是面向对象编程 4).sql语句固定,可移植性差 JDBC的优点:效率比较高 2.Hibernate优点 1).完全面向对象编程 2).hibernate的缓存很牛的,一级缓存,二级缓存,查询缓存3).跨平台性强 4).使用场合多应用于企业内部的系统 Hibernate缺点 1).效率低 2).表中的数据如果在千万级别,则hibernate不适合 3).如果表与表

Spring 集成Hibernate的三种方式

首先把hibernate的配置文件hibernate.cfg.xml放入spring的src目录下,并且为了便于测试导入了一个实体类Student.java以及它的Student.hbm.xml文件 第一种集成方式:首先定义一个MySessionFactory的类 package com.tz.core; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.springfr

Spring整合Hibernate的两种方式

在使用spring注解整合hibernate时出现"org.hibernate.MappingException: Unknown entity: com.ssh.entry.Product“异常的问题. 最后找到了问题,总结一下 1.spring整合hibernate,取代*.hbm.xml配置文件  在applicationContext.xml文件中配置方式 <!-- 创建sessionFactory --> <bean id="sessionFactory&q

spring(一)--spring/springmvc/spring+hibernate(mybatis)配置文件

这篇文章用来总结一下spring,springmvc,spring+mybatis,spring+hibernate的配置文件 1.web.xml 要使用spring,必须在web.xml中定义分发器等信息,基本的配置信息如下: <?xml version="1.0" encoding= "UTF-8"?> <web-app version= "3.0" xmlns="http://java.sun.com/xml/n

Hibernate常用配置文件详解

本文转载自:http://blog.csdn.net/csh624366188/article/details/7578939 初学hibernate的童鞋,刚开应该都有这种感觉,hibernate的配置文件好麻烦,还不如jdbc访问数据库呢,直接写代码,多方便,用hibernate还要写代码,还要写配置,太麻烦了.至少我刚开始学习的时候就是这么想的.配置文件确实有他枯燥的一面,但等你真正深入学习的时候,你就可以发现他枯燥的背后却藏着很多强大的功能,呵呵,让我说的这么玄乎,那就让我们一起来看看吧

Hibernate之配置文件

可持久化对象有以下三种状态: 临时状态(Transient):对象在保存进数据库之前为临时状态,这时数据库中没有该对象的信息,如果没有持久化,程序退出后临时状态的对象信息将会丢失.随时可能被垃圾回收器回收(在数据库中没有于之对应的记录,应为是new初始化),而执行save()方法后,就变为Persistent对象(持久性对象),没有纳入session的管理,内存中一个对象,没有ID,缓存中也没有 持久化状态(Persistent):对象在保存进数据库后或者从数据库加载后.并且没有脱离Sessio

eclipse 新建 maven 项目 添加 spring hibernate 的配置文件 详情

主要配置文件 pom.xml 项目的maven 配置文件 管理项目所需 jar 依赖支持 web.xml 项目的总 配置文件  :添加 spring和hibernate 支持 applicationContext.xml   hibernate的配置文件 sping-servlet.xml spring的配置文件 jdbc-properties 数据库连接属性 文件 ------------------------------pom.xml 开始-------------------------