学习Hibernate框架--框架搭建及简单实用
2017-10-30 12:04
417 查看
在学习Hibernate框架之前首先来了解一下什么是Hibernate框架以及为什么要使用它
Hibernate是
一个开源的对象关系映射框架
对JDBC进行了非常轻量级的对象封装
将JacaBean对象和数据库的表建立对应关系
它是一个优秀的Java持久化层解决方案
是当今主流的对象——关系映射工具
它简化了JDBC繁琐的编码,将数据库的连接信息都放置在配置文件中
来对比一下传统的JDBC,会发现传统JDBC有一些缺点:
开发效率低
代码冗余(比如pstmt的setXX方法,方法参数冗余的getXX方法,而如果POJO的属性很多,则代码增加)
重复性工作很多
所以使用Hibernate框架来进行持久层的操作是很有必要的,接下来了解一下它的使用步骤
1、下载jar包并部署,可以去官网上下载,地址:www.hibernate.org
2、配置一个关于关联实体类的xml文件,以User类为例(User.hbm.xml)
该文件用于配置数据库连接;运行时所需的各种属性;默认的文件名为“hibernate.cgf.xml”
接下来就可以使用Hibernate来操作数据库啦,总的来说有这么7个步骤:
上面就是使用Hibernate的一些简单的增删改查操作,由于所写出的操作方法过于简单,不能进行复杂的操作,所以企业开发中基本不会使用 ,仅仅作为学习该框架之前的了解,之后会更新利用该框架进行复杂一些的数据库操作
Hibernate是
一个开源的对象关系映射框架
对JDBC进行了非常轻量级的对象封装
将JacaBean对象和数据库的表建立对应关系
它是一个优秀的Java持久化层解决方案
是当今主流的对象——关系映射工具
它简化了JDBC繁琐的编码,将数据库的连接信息都放置在配置文件中
来对比一下传统的JDBC,会发现传统JDBC有一些缺点:
开发效率低
代码冗余(比如pstmt的setXX方法,方法参数冗余的getXX方法,而如果POJO的属性很多,则代码增加)
重复性工作很多
所以使用Hibernate框架来进行持久层的操作是很有必要的,接下来了解一下它的使用步骤
1、下载jar包并部署,可以去官网上下载,地址:www.hibernate.org
2、配置一个关于关联实体类的xml文件,以User类为例(User.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"> <!-- package对应实体类的包 --> <!--实体类的映射文件 --> <hibernate-mapping> <!--对应实体类关联数据表,name代表类的路径 --> <class name="com.entity.User" table="h_user"> <!--id标签代表主键,name表示实体类的属性,column表示数据库中的列,type表示类型 --> <id name="id" column="id" type="java.lang.Integer"> <!--生成主键策略 --> <generator class="sequence"> <!--指定序列的名称 --> <param name="sequence">seq_h_user</param> </generator> </id> <!-- 其他列的设置,设置方式同主键一样 --> <property name="name" column="name" type="java.lang.String"></property> <property name="pwd" column="pwd" type="java.lang.String"></property> </class> </hibernate-mapping>3、创建Hibernate配置文件
该文件用于配置数据库连接;运行时所需的各种属性;默认的文件名为“hibernate.cgf.xml”
<?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> <property name="hbm2ddl.auto">update</property> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property> <property name="connection.username">hibernate</property> <property name="connection.password">123456</property> <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <property name="hibernate.c3p0.max_size">20</property> <property name="hibernate.c3p0.min_size">1</property> <property name="hibernate.c3p0.timeout">5000</property> <property name="hibernate.c3p0.max_statements">100</property> <property name="hibernate.c3p0.idle_test_period">3000</property> <property name="hibernate.c3p0.acquire_increment">2</property> <property name="hibernate.c3p0.validate">true</property> <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property> <property name="show_sql">true</property> <mapping resource="com/jredu/entity/User.hbm.xml"/> </session-factory> </hibernate-configuration>
接下来就可以使用Hibernate来操作数据库啦,总的来说有这么7个步骤:
package com.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.boot.registry.StandardServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import com.entity.User; public class UsrTest { public static void main(String[] args) { // TODO Auto-generated method stub // 1、读取并解析配置文件 Configuration cfg=new Configuration().configure(); // 注册服务对象(必须执行此步骤,否则第二步的buildSessionFactory方法无法执行) StandardServiceRegistry registry=new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build(); // 2、解析映射文件,创建SessionFactory SessionFactory factory=cfg.buildSessionFactory(); // 3、打开session Session session=factory.openSession(); // 4、增删改需要开启事务 Transaction tran=session.beginTransaction(); // (1)添加一条数据 // User user=new User(); // user.setName("admin"); // user.setPwd("123"); //// 5、数据库操作 // session.save(user); // (2)更新数据 // User user=new User(); // user.setId(4); // user.setName("ad"); // user.setPwd("111"); // session.update(user); // (3)删除数据 // User user=new User(); // user.setId(4); // session.delete(user); // (4)查询数据 User user=(User) session.get(User.class,5); 6、提交事务 tran.commit(); // 7、关闭session session.close(); System.out.println("操作成功"); } }由于第二步的操作版本不支持,所以得先注册服务对象,代码中给出了注释
上面就是使用Hibernate的一些简单的增删改查操作,由于所写出的操作方法过于简单,不能进行复杂的操作,所以企业开发中基本不会使用 ,仅仅作为学习该框架之前的了解,之后会更新利用该框架进行复杂一些的数据库操作
相关文章推荐
- Puma framework 1.0 beta, 基于sping mvc、spring security、spring data、hibernate搭建的开发框架(供学习用)
- 【Hibernate学习杂记】最简单的Hibernate配置实用
- 简单Spring+Struts2+Hibernate框架搭建
- Hibernate 框架的搭建及简单介绍
- 通过Hibernate框架搭建简单的dao层
- Castle ActiveRecord框架学习(二):快速搭建简单博客网站
- Netty学习:搭建一个简单的Netty服务(JAVA NIO 类库的异步通信框架)
- hibernate框架学习笔记1:搭建与测试
- Hibernate框架学习(搭建)
- JFinal框架学习------使用idea+maven搭建简单JFinal框架
- hibernate框架的搭建与简单实现增删改
- 学习之路--项目整体框架简单的搭建
- strust2-学习(一)框架搭建和简单示例
- Hibernate框架的搭建和第一个简单的实例
- 整合开发Struts2,Hibernate,Spring简单框架的搭建详解
- Netty学习:搭建一个简单的Netty服务(JAVA NIO 类库的异步通信框架)
- Java Web开发SpringMVC和MyBatis框架开发环境搭建和简单实用
- Hibernate框架的搭建和第一个简单的实例
- 详解SpringMVC和MyBatis框架开发环境搭建和简单实用
- Hibernate框架的搭建和第一个简单的实例