[关闭]
@hainingwyx 2017-11-15T14:48:45.000000Z 字数 1393 阅读 1000

Hibernate

Java


Hibernate初识

ORM

ORM(Object/Relationship Mapping):对象/关系映射

写SQL语句的缺点:

  1. 不同的数据库使用的SQL语法不同。比如:PL/SQL(Oracle)与T/SQL(SQL Server)
  2. 同样的功能在不同的数据库中有不同的实现方式。比如分页SQL。
  3. 程序过分依赖SQL对程序的移植及扩展、维护等带来很大的麻烦。
    为了完全使用面向对象思想开发软件,抛弃书写SQL的思想,需要采用一种可行ORM框架技术。

hibernate是可行的ORM框架技术。

Hibernate简介

  1. Hibernate是java领域的一个开源的ORM框架
  2. Hibernate是对JDBC进行了非常轻量级的封装,实质上还是通过JDBC实现对数据库的操作
  3. Hibernate在程序中的作用:持久化层,把程序中生成的对象 持久化到数据库的表中

其他的ORM技术
1. MyBatis:前身就是iBatis(Apache)
2. Toplink:后被Oracle收购,并重新包装为Oracle AS TopLink
3. EJB:本身是JAVAEE的规范(重量级)

编写Hibernate

  1. 导入jar包(hibernate的jar包,mysql的jar包,junit4的jar包)
  2. 创建Hibernate配置文件
  3. 创建持久化类
  4. 创建对象-关系映射文件
  5. 通过Hibernate API 编写访问数据库的代码

配置文件

  1. <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
  2. <hibernate-configuration>
  3. <session-factory>
  4. <property name="connection.username">root</property>
  5. <property name="connection.password">root</property>
  6. <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  7. <property name="connection.url">jdbc:mysql://localhost:3306/test</property>
  8. <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
  9. <property name="show_sql">true</property>
  10. <property name="format_sql">true</property>
  11. <property name="hbm2ddl.auto">create</property>
  12. <mapping resource="Student.hbm.xml" />
  13. </session-factory>
  14. </hibernate-configuration>

构造持久类

持久化类的设计原则追寻javabeans的设计原则。javabean的四点要求

  1. 公有的类
  2. 提供公有的不带参数的构造方法
  3. 属性私有
  4. 属性setter/getter封装
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注