老司机带你学系列-Hibernate入门到精通-1

老司机带你学系列-Hibernate入门到精通

 


 

数据持久化

1.1 ORMJPAHibernate的关系

ORM是一种思想,对象关系映射。

JPA是制定一套规范,支持ORMjava持久化api

Hibernate是对JPA接口的实现,以完整实现ORM这种数据持久化的思想。

1.2 配置文件

1、映射文件:***.hbm.xml

a) 类到表的映射。

b) 属性到字段的映射。

c) 对象与记录的映射

范例:Studeng配置文件student.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC 

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

<class name="yibai.Student" table="t_student">

<id name="id" column="tid">

<generator class="native"></generator>

</id>

<property name="name" column="tname"></property>

<property name="age" column="tage"></property>

<property name="score" column="tscore"></property>

</class>

</hibernate-mapping>

  实体类:

package yibai;

public class Student {

public Student(String name, int age, double score) {

super();

this.name = name;

this.age = age;

this.score = score;

}

public Student() {

super();

}

private Integer id;

private String name;

private int age;

private double score;

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 int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public double getScore() {

return score;

}

public void setScore(double score) {

this.score = score;

}

@Override

public String toString() {

return "Student [id=" + id + ", name=" + name + ", age=" + age + ", score=" + score + "]";

}

}

 

2、主配置文件:hibernate.cfg.xml

a) session-factory,session工厂,取得session的地方,在hibernate里面,所有的增删改查等数据库操作都需要依靠session来完成。

session-factory的配置要点:DB连接四要素;定义注册文件。

范例1:定义主配置文件hibernate.cfg.xml,配置DB连接四要素和定义注册文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<!-- DB连接四要素 -->

<property name="hibernate.connection.driver_class">

oracle.jdbc.OracleDriver

</property>

<property name="hibernate.connection.url">

jdbc:oracle:thin:@190.2.3.150:1521:sms

</property>

<property name="hibernate.connection.username">lai</property>

<property name="hibernate.connection.password">lai</property>

<!-- 注册映射文件 -->

<mapping resource="yibai/student.hbm.xml"/>

</session-factory>

</hibernate-configuration>

范例2定义主配置文件:注册方言(hibernate.dialect)方言指的是:我们平时写的都是标准的SQL,而不同的dbms不同的数据库管理系统,里边的SQL写起来大体上相同,稍微有些不同,不同的地方就是叫方言。hibernate需要自动生成SQL遇见,需要我们给他指定方言,才能正确的生成SQL

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<!-- DB连接四要素 -->

<property name="hibernate.connection.driver_class">

oracle.jdbc.OracleDriver

</property>

<property name="hibernate.connection.url">

jdbc:oracle:thin:@190.2.3.150:1521:sms

</property>

<property name="hibernate.connection.username">lai</property>

<property name="hibernate.connection.password">lai</property>

<!-- 注册映射文件 -->

<mapping resource="yibai/student.hbm.xml"/>

<!-- 定义方言 ,值可以在core包里面找dialect-->

<property name="hibernate.dialect">

org.hibernate.dialect.Oracle10gDialect

</property>

</session-factory>

</hibernate-configuration>

范例3定义主配置文件,注册C3P0数据库连接池

 

范例4定义主配置文件,注册上下文

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值