hibernate是一个优秀的持久化框架负责简化将对象保存到数据库中,或从数据库中读取数据并封装到对象的工作。hibernate通过简单配置和编码即可替代jdbc繁琐的程序代码。

下面是集成hibernate的具体步骤

下载hibernate的.jar包并在项目中进行引用

在classpath下创建并编写hibernate.cfg.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="connection.driver_class">oracle.jdbc.OracleDriver</property><!--驱动类的全名称-->
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property><!--数据库连接的url-->
<property name="connection.username">WZ</property><!--用户名-->
<property name="connection.password">*****</property><!--密码--> <!-- 配置SQL方言 -->
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- 设置Session上下文-->
<property name="current_session_context_class">thread</property>
<!-- 格式化sql -->
<property name="format_sql"> true</property> <!-- 在控制台显示hibernate自动生成的sql语句 -->
<property name="show_sql">true</property>
<!--格式换在控制台显示的sql语句-->
<property name="hbm2ddl.auto">
update
</property>
<!--数据实体类的配置文件的引用-->
<mapping resource="xxx.hbm.xml" /> </session-factory> </hibernate-configuration>

创建并编写实体类的配置文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="student_entity"> <class name="类名" table="表名">
主键类配置
<id name="sid" column="stuno">
<generator class="sequence">
<param name="sequence">
SQL_ID
</param> </generator> </id>
属性配置
<property name="sage"/>
<property name="name" column="stuname"/> </class> </hibernate-mapping>

其中:<generator class=””/>配置主键的生成策略其取值如下:

increment:对类型为long、short、int类型的主键,已自动增长的方式生成主键的值,增量为1

sequence:对于支持序列的数据库可使用序列来给主键赋值其通过param子元素来指定序列名

identity:对支持标识列的数据库可使用该策略。但需要在数据控的该列设置为标识列

native:由hibernate自动判断使用何种策略

assigned:主键有应用程序生成,hibernate无需参与

在实体类的配置文件编写完成之后还要在hibernate.cfg.xml文件中添加该配置文件的引用如图:

测试

以上步骤全部完成后就可以在程序中使用hibernate提供的api来进行数据操作,

Configuration cfgt=new Configuration().configure();//创建配置对象将hibernate.cfg.xml文件中的信息封装到cfgt对象中
SessionFactory factory = cfgt.buildSessionFactory();//创建命令工厂
Session session = factory.openSession();//打开命令对象
Transaction tsc = session.beginTransaction();//开始事务 session.save(stu);将stu中的信息保存到数据库中(stu为已创建的实体类对象) tsc.commit();//提交事务
session.close();//关闭命令对象

hibernate集成的更多相关文章

  1. Spring与Hibernate集成中的Session问题

    主要讨论Spring与Hibernate集成中的session问题 1.通过getSession()方法获得session进行操作 public class Test extends Hibernat ...

  2. hibernate集成ehcahe进行缓存管理

    ehcace是现在非常流行的缓存框架,有轻量.灵活.可扩展.支持集群/分布式等优点. 在项目中,使用ehcace可以对数据进行缓存(一般使用.基于注解.基于aop),使用filter可以对页面进行缓存 ...

  3. Spring和Hibernate集成配置

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  4. Spring和Hibernate集成的HibernateTemplate的一些常用方法总结

    1:get/load存取单条数据 public Teacher getTeacherById(Long id) { return (Teacher)this.hibernateTemplate.get ...

  5. spring和hibernate集成事物管理配置方法

    spring+hibernate,采用声明式事务 1.声明式事务配置 * 配置SessionFactory * 配置事务管理器 * 事务的传播特性 * 那些类那些方法使用事务 2.编写业务逻辑方法 * ...

  6. Hibernate 集成 Ehcache 开启二级缓存

    一.将 Ehcache.xml 放到 classpath 下 <?xml version="1.0" encoding="UTF-8"?> < ...

  7. springMvc和Hibernate集成实现用户添加

    源码:http://pan.baidu.com/s/1i4xVLE9(百度云) 步骤:一.创建数据库(mysql) 二.导入相应jar包(注意不同数据库jdbc.jar包)配置web.xml.spri ...

  8. Spring 与 Hibernate 集成 Transactional设置为只读

    @Transactional标签用于标记ServiceImpl使用事务,并且能够打开一个sessionFactory的session,并且打开事务. 如果在这个标签为@Transactional(pr ...

  9. Spring,Hibernate 集成解决多hbm.xml文件繁多的方案

    开发一个大一点的项目有很多的hbm.xml文件,有时候上百个也不稀奇,如果用 <property name="mappingLocations"> <list&g ...

随机推荐

  1. [leetcode]Find Minimum in Rotated Sorted Array @ Python

    原题地址:https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array/ 解题思路:话说leetcode上面的二分查找题目 ...

  2. android实现qq邮箱多个图标效果

    前几天,蛋疼的技术主管非要实现类似装一个qq邮箱,然后能够使用qq邮箱日历的那么一个东西.相当于一个应用生成两个图标,可是不同的是点击不同的图标能够进入不同的应用,例如以下图的效果. 这效果百度了一天 ...

  3. WPF 转义字符

    下面是五个在XML文档中预定义好的实体: < < 小于号 > > 大于号 & & 和 &apos; ' 单引号 " " 双引号 实体 ...

  4. 学习OpenGL简单易懂网站

    帅炸天的教程:欢迎来到OpenGL的世界

  5. 提高 Android 代码质量的4个工具

    在这篇文章中,我将通过不同的自动化工具如CheckStyle,FindBugs,PMD以及Android Lint来介绍(如何)提高你的安卓代码质量.通过自动化的方式检查你的代码非常有用,尤其当你在一 ...

  6. JavaScriptSerializer 中的匿名类型 转json

    二:JavaScriptSerializer 中的匿名类型 这个类型我想大家都清楚,不过性能更高的方式应该是用JsonConvert吧,但这个不是本篇讨论的话题,我们重点来看看匿名类型的Json序列化 ...

  7. Android使用BLE(低功耗蓝牙,Bluetooth Low Energy)

    背景 在学习BLE的过程中,积累了一些心得的DEMO,放到Github,形成本文.感兴趣的同学可以下载到源代码. github: https://github.com/vir56k/bluetooth ...

  8. win7 VS2012+openCV-2.4.11 配置

    1.下载 http://opencv.org/downloads.html (根据版本的不同选择,这里选择的是opencv-2.4.11) 2.安装 3.环境变量配置 计算机->属性->高 ...

  9. [转载]JavaScript 中小数和大整数的精度丢失

    标题: JavaScript 中小数和大整数的精度丢失作者: Demon链接: http://demon.tw/copy-paste/javascript-precision.html版权: 本博客的 ...

  10. git clone简介

    翻译整理自: http://web.mit.edu/~mkgray/project/silk/root/afs/sipb/project/git/git-doc/git-clone.html  在使用 ...