hibernate集成
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集成的更多相关文章
- Spring与Hibernate集成中的Session问题
主要讨论Spring与Hibernate集成中的session问题 1.通过getSession()方法获得session进行操作 public class Test extends Hibernat ...
- hibernate集成ehcahe进行缓存管理
ehcace是现在非常流行的缓存框架,有轻量.灵活.可扩展.支持集群/分布式等优点. 在项目中,使用ehcace可以对数据进行缓存(一般使用.基于注解.基于aop),使用filter可以对页面进行缓存 ...
- Spring和Hibernate集成配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- Spring和Hibernate集成的HibernateTemplate的一些常用方法总结
1:get/load存取单条数据 public Teacher getTeacherById(Long id) { return (Teacher)this.hibernateTemplate.get ...
- spring和hibernate集成事物管理配置方法
spring+hibernate,采用声明式事务 1.声明式事务配置 * 配置SessionFactory * 配置事务管理器 * 事务的传播特性 * 那些类那些方法使用事务 2.编写业务逻辑方法 * ...
- Hibernate 集成 Ehcache 开启二级缓存
一.将 Ehcache.xml 放到 classpath 下 <?xml version="1.0" encoding="UTF-8"?> < ...
- springMvc和Hibernate集成实现用户添加
源码:http://pan.baidu.com/s/1i4xVLE9(百度云) 步骤:一.创建数据库(mysql) 二.导入相应jar包(注意不同数据库jdbc.jar包)配置web.xml.spri ...
- Spring 与 Hibernate 集成 Transactional设置为只读
@Transactional标签用于标记ServiceImpl使用事务,并且能够打开一个sessionFactory的session,并且打开事务. 如果在这个标签为@Transactional(pr ...
- Spring,Hibernate 集成解决多hbm.xml文件繁多的方案
开发一个大一点的项目有很多的hbm.xml文件,有时候上百个也不稀奇,如果用 <property name="mappingLocations"> <list&g ...
随机推荐
- Web 开发常备工具
工欲善其事,必先利其器.如今 Web 开发标准越来越高,Web 开发者也在不断寻找途径提升自己的技能.为使大家的开发工作更顺利进行,本文整理了 10+ 款比较优秀的 Web 开发工具,希望对你有帮助. ...
- c# 小数取整
向上取整 math.ceiling() = math.ceiling( math.ceiling( 向下取整 math.) = math. math. C#取整函数实例应用详解 C#取整函数的相关使用 ...
- Asp.net Core CacheHelper 通用缓存帮助类
using System; using Microsoft.Extensions.Caching.Memory; using System.Runtime; namespace UFX.Tools { ...
- FFRPC应用之Client/Server
摘要: Ffrpc 进行了重构,精简了代码,代码更加清晰简洁,几乎完美的达到了我的预想.接下来将写几遍文章来介绍ffrpc可以做什么.简单总结ffrpc的特性是: Ffrpc是c++ 网络通信库 全异 ...
- git删除远程文件夹或文件的方法
由于本地修改了文件夹大全名大小写的原因,同步到git上并不区分大小写,造成了一些文件同步不了,所以要先把git远程库上文件夹删除掉,然后再重新同步 如下,我把src里的全部移除,但是本地文件还保留. ...
- Reflector反编译.NET文件后修复【转】
反编译后的工程文件用VS2010打开后,在打开窗体时会出现一系列错误提示: 第一种情况: “设计器无法处理第 152 行的代码: base.AutoScaleMode = AutoScaleMode. ...
- CLR via C#深解笔记七 - 自动内存管理(垃圾回收)
每个应用程序都要使用这样或者那样的资源,比如文件.内存缓冲区.屏幕空间.网络连接.数据库资源等.事实上,在面向对象的环境中,每个类型都代表可供程序使用的一种资源. 要使用这些资源,必须为代表资源的类型 ...
- drupal7 form模板复写方法
给form制作一个template 从官方的drupal api document中可得到form有#theme这个参数,它可以指定form使用一个模板来用于form的基本布局,#theme的值必须是 ...
- WCF的传输安全(读书笔记)
Wcf的传输安全主要涉及认证.消息的一致性和机密性.Wcf采用两种不同的机制来解决这三个涉及传输安全的问题,即Transport安全模式和Message安全模式. Transport安全模式利用基于传 ...
- Linux系统下安装rz/sz命令及使用说明
对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们 ...