Hibernate简介与搭建(一)
2015-11-09 21:56
323 查看
[size=x-large]一、Hibernate简介[/size]
[color=brown]1.Hibernate[/color]:底层依然是通过JDBC实现的,它是对JDBC进行了轻量级的封装。
Hibernate主要用来实现Java对象和表之间的映射,除此之外还提供还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
Hibernate可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的形式转换到一系列的对象中去。
Hibernate是java中一款开源的ORM框架。
[color=brown]2.持久化[/color]:将程序数据在持久状态和瞬时状态间的转换的一种机制
持久化应用:将内存中的对象存储在关系型数据库中/磁盘文件/XML数据文件中
瞬时状态:保存在内存中的数据,在程序退出后数据消失。
[color=brown]3.ORM[/color](Object relational mapping)对象关系数据库映射技术
把对象模型表示的对象映射到基于SQL的关系型数据库结构中的技术。
是一种面向对象的编程方法,使用ORM方法可以避免写底层的sql语句,保证了java的跨平台、扩展、可维护。
[color=brown]4.其他主流的持久化层框架[/color]:
MyBatis Toplink EJB(重量级的,本身是JavaEE规范)等等
[color=brown]5.Hibernate优缺点[/color]:
①面向对象的思想来操作数据库
②可移植性:Hibernate做了持久化封装,所写代码具有可复用性。
③轻量级框架:不需要继承任何类,不需要实现任何接口。
缺点
①使用数据库特定的优化语句时候,不适合使用Hibernate
②Hibernate在批量数据处理时有弱势,不适合批量修改删除等操作,也是ORM框架的弱点
③效率比JDBC略差
[size=x-large]二、Hibernate开发框架搭建[/size]
[color=brown]1.去官网下载相应的文档:[/color]
http://sourceforge.net/projects/hibernate/files/
下载相应的jdbc driver
mySql:http://dev.mysql.com/downloads/connector/j/3.0.html
oracle:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
导入下载的jar包到工程中
[color=brown]2.在src目录下创建hibernate.cfg.xml文件,完成基本配置[/color]
先对其中几个重要属性进行说明:
[color=red]注:以上的属性名称均可以去掉hibernate.[/color]
[color=brown]3.创建实体类Students.java[/color]
实体类的创建必须遵循JavaBeans的设计原则:
①公有类
②提供公有的不带参数的构造方法
③属性私有
④get/set封装
[color=brown]4.创建对象/关系映射文件Students.hbm.xml[/color]
hbm配置中一些说明:
<hibernate-mapping中
<class中
<id中
<id中包含一个子标签是主键生成策略<generator class="native"></generator>
等等
[color=orange]对于属性中的type可以有多种填写方式,还是以表格进行总结[/color]
基本类型
在填写type属性值时使用Hibernate类型或者java类型都可以
对象类型
[color=brown]5.将Student.hbm.xml文件加入hibernate.cfg.xml配置文件中[/color]
6.通过Hibernate API编写访问数据库的代码
Hibernate4使用ServiceRegistry服务注册对象来创建SessionFactory对象。
以上就能够完成简单的Hibernate框架的搭建了(亲测好用),但是实际的项目中可能还是有一定区别的。
[color=brown]1.Hibernate[/color]:底层依然是通过JDBC实现的,它是对JDBC进行了轻量级的封装。
Hibernate主要用来实现Java对象和表之间的映射,除此之外还提供还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
Hibernate可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的形式转换到一系列的对象中去。
Hibernate是java中一款开源的ORM框架。
[color=brown]2.持久化[/color]:将程序数据在持久状态和瞬时状态间的转换的一种机制
持久化应用:将内存中的对象存储在关系型数据库中/磁盘文件/XML数据文件中
瞬时状态:保存在内存中的数据,在程序退出后数据消失。
[color=brown]3.ORM[/color](Object relational mapping)对象关系数据库映射技术
把对象模型表示的对象映射到基于SQL的关系型数据库结构中的技术。
是一种面向对象的编程方法,使用ORM方法可以避免写底层的sql语句,保证了java的跨平台、扩展、可维护。
[color=brown]4.其他主流的持久化层框架[/color]:
MyBatis Toplink EJB(重量级的,本身是JavaEE规范)等等
[color=brown]5.Hibernate优缺点[/color]:
①面向对象的思想来操作数据库
②可移植性:Hibernate做了持久化封装,所写代码具有可复用性。
③轻量级框架:不需要继承任何类,不需要实现任何接口。
缺点
①使用数据库特定的优化语句时候,不适合使用Hibernate
②Hibernate在批量数据处理时有弱势,不适合批量修改删除等操作,也是ORM框架的弱点
③效率比JDBC略差
[size=x-large]二、Hibernate开发框架搭建[/size]
[color=brown]1.去官网下载相应的文档:[/color]
http://sourceforge.net/projects/hibernate/files/
下载相应的jdbc driver
mySql:http://dev.mysql.com/downloads/connector/j/3.0.html
oracle:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
导入下载的jar包到工程中
[color=brown]2.在src目录下创建hibernate.cfg.xml文件,完成基本配置[/color]
先对其中几个重要属性进行说明:
[color=red]注:以上的属性名称均可以去掉hibernate.[/color]
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- oracle数据库驱动 -->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<!-- oracle想要连接的数据库名称 -->
<property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>
<!-- 数据库的登陆用户名 -->
<property name="connection.username">SUNYQ</property>
<!-- 数据库的登陆密码 -->
<property name="connection.password">123456</property>
<!-- 方言:为每一种数据库提供适配器,方便转换 -->
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="Students.hbm.xml"/>
</session-factory>
</hibernate-configuration>
[color=brown]3.创建实体类Students.java[/color]
实体类的创建必须遵循JavaBeans的设计原则:
①公有类
②提供公有的不带参数的构造方法
③属性私有
④get/set封装
package com.iteye.sunyq.hibernate;
public class Students {
public Students() {
}
private int sid;
private String sname;
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
}
[color=brown]4.创建对象/关系映射文件Students.hbm.xml[/color]
hbm配置中一些说明:
<hibernate-mapping中
<class中
<id中
<id中包含一个子标签是主键生成策略<generator class="native"></generator>
等等
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.iteye.sunyq.hibernate.Students" table="students">
<id name="sid" type="integer">
<column name="id"></column>
<generator class="native"></generator>
</id>
<property name="sname" type="string">
<column name="sname"></column>
</property>
</class>
</hibernate-mapping>
[color=orange]对于属性中的type可以有多种填写方式,还是以表格进行总结[/color]
基本类型
在填写type属性值时使用Hibernate类型或者java类型都可以
对象类型
[color=brown]5.将Student.hbm.xml文件加入hibernate.cfg.xml配置文件中[/color]
<mapping resource="Students.hbm.xml"/>
6.通过Hibernate API编写访问数据库的代码
package com.iteye.sunyq.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class Test {
public static void main(String[] args) {
//创建配置对象
Configuration config = new Configuration().configure();
//创建服务注册对象
ServiceRegistry service = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();
SessionFactory sessionFactory = config.buildSessionFactory(service);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
Students student = new Students();
session.save(student);
transaction.commit();
session.close();
}
}
Hibernate4使用ServiceRegistry服务注册对象来创建SessionFactory对象。
以上就能够完成简单的Hibernate框架的搭建了(亲测好用),但是实际的项目中可能还是有一定区别的。
相关文章推荐
- Hibernate简介及环境搭建
- Hibernate环境搭建_ALL
- Hibernate(一)——采用Hibernate框架开发环境搭建
- 浅谈JavaEE中的Hibernate环境的搭建(二)
- hibernate教程____hibernate简介
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
- kafka简介、使用场景、设计原理、主要配置及集群搭建
- struts+spring+hibernate的web应用 架构搭建
- HibernateDaoSupport 简介
- Hibernate3.5.4---java application的xml和annotation环境搭建(hibernate.cfg.xml配置文件说明,映射文件Student.hbm.xml说明
- JBPM(一)---JBPM简介及其开发环境搭建
- Hibernate学习笔记---框架搭建&增删改查
- hibernate简介
- SpringBoot和PostGIS环境搭建(Hibernate4)
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
- Hibernate4.1.8搭建日志环境
- 开源虚拟化管理平台Ovirt简介和配置环境搭建
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
- hibernatea环境搭建
- struts1.2 + spring2.5 + hibernate3.2框架搭建四之前台页面