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. j$(function() j$(document).ready 区别

    $j(document).ready(function(){}); // 或者  $j(function(){}); 第一个是直接使用Jquery调用function,第二个是在文档加载完毕后才去调用 ...

  2. [算法导论]红黑树实现(插入和删除) @ Python

    class RBTree: def __init__(self): self.nil = RBTreeNode(0) self.root = self.nil class RBTreeNode: de ...

  3. (String) | String.valueOf()

    Map m = new HashMap(); Integer i = 5; String s = null; m.put("val1", i); m.put("val2& ...

  4. 通过 SSH 隧道方式图形化连接 AIX 服务器

    跳转到主要内容 登录 (或注册) 中文 [userid] IBM ID: 密码: 保持登录. 单击提交则表示您同意developerWorks 的条款和条件. 查看条款和条件. 需要一个 IBM ID ...

  5. GridView第一个Item中的CheckBox不工作

    问题:如题 解决办法: 修改后: ViewGroup.LayoutParams params =helper.getConvertView().getLayoutParams(); params.wi ...

  6. python环境中运行程序

    运行Python程序,我们比较常用的是直接在Windows命令提示窗口或者Linux终端或shell窗口中,直接:Python *.py,或者在Linux环境下,在投不中,加入: #!/usr/bin ...

  7. 利用print2flashsetup.exe文档转swf

    通过使用Print2Flash您可以轻松的将您的文档转换成真正的Adobe Flash格式,最好的保证您的内容将实际可见,与其他格式相比,它并不存在查看工具的安装问题. Print2Flash中有一个 ...

  8. Python: 测试函数是否被调用

    # helper class defined elsewhere class CallLogger(object): def __init__(self, meth): self.meth = met ...

  9. Office 2013 Excel 转换 Word

    最新文章:Virson's Blog 参考文章:百度百科 1.使用Excel打开需要转换的Excel文档: 2.采用另存为*.htm的方式将该Excel文档另存为网页,如下图: 3.找到保存的htm网 ...

  10. Hadoop 2.4.1 Map/Reduce小结【原创】

    看了下MapReduce的例子.再看了下Mapper和Reducer源码,理清了参数的意义,就o了. public class Mapper<KEYIN, VALUEIN, KEYOUT, VA ...