Hibernate的使用
1 创建一个Java项目,在项目中新建一个lib,将需要的Hibernate包和MySQL包导入,并Build Path

2 在src下添加Hibernate.cfg.xml在此文件中对Hibernate和MySQL进行配置,此处的配置作用,类似于JDBC的共用
我理解为此处用于与数据库连接
<hibernate-configuration>
<session-factory>
//确定方言
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
//Driver
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- Assume test is the database name -->
//url
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/test
</property>
//root
<property name="hibernate.connection.username">
root
</property>
//password
<property name="hibernate.connection.password">
123456
</property>
//配置Mapping
<mapping resource="com/whl/bean/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
3 在Bean下建立bean以及Bean.hbm.xml。在此xml中属性名等与数据库对应,此xml也叫映射文件的配置
在cfg.xml中进行mapping配置
<hibernate-mapping>
<class name="com.phone1000.je1702.bean.User">
<id name="uid" type="java.lang.Integer">
<generator class="increment"/>
</id>
<property name="username" not-null="true" length="15" column="username"/>
<property name="password" not-null="true" length="15" column="`password`"/>
</class>
</hibernate-mapping>
4 实现数据库的crub操作
注:因为Hibernate是一个封装了JDBC的ORM框架,所以在开发中,其主要用于DAO、Server部分
①在dao下新建一个接口,写增删改查的方法
②new 一个Class继承上面的接口
//1 创建一个configuraction对象,在configure()方法中会调用带参的构造器
Configuration cfg=new Configuration.configure();
//2 通过Configuration创建SessionFactory
SessionFactory sf=cfg.bulidSessionFactory();
//3 使用SessionFactory对象创建一个Session对象
Session s=sf.openSession();
//4 通过session对象开启一个事物
Transaction tx=s.beginTransaction();
try{
//5 实现数据的CRUD操作
s.save(user);
//6 commit或者rollback 事物
tx.commit();
return ;
}catch(){
//6 commit或者rollback 事物
tx.rollback();
}
7 关闭session对象
注:在查询时,不改变表中数据,则不需要开启事物
直接用session.createQuery("from user")
③ 测试增删改查(Junit)
Hibernate的使用的更多相关文章
- hibernate多对多关联映射
关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...
- 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用
问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...
- hibernate多对一双向关联
关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...
- Hibernate中事务的隔离级别设置
Hibernate中事务的隔离级别,如下方法分别为1/2/4/8. 在Hibernate配置文件中设置,设置代码如下
- Hibernate中事务声明
Hibernate中JDBC事务声明,在Hibernate配置文件中加入如下代码,不做声明Hibernate默认就是JDBC事务. 一个JDBC 不能跨越多个数据库. Hibernate中JTA事务声 ...
- spring applicationContext.xml和hibernate.cfg.xml设置
applicationContext.xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans ...
- [原创]关于Hibernate中的级联操作以及懒加载
Hibernate: 级联操作 一.简单的介绍 cascade和inverse (Employee – Department) Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似 ...
- hibernate的基本xml文件配置
需要导入基本的包hibernate下的bin下的required和同bin下optional里的c3p0包下的所有jar文件,当然要导入mysql的驱动包了.下面需要注意的是hibernate的版本就 ...
- Maven搭建SpringMVC+Hibernate项目详解 【转】
前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...
- 1.Hibernate简介
1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发; b.大大减少代码量; c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...
随机推荐
- java 对时间(Date)随笔!
/** * 获取系统当前时间 * @return 系统当前时间 */ public static Date now() { return new Date(); } /** * 根据指定的日期,获取其 ...
- ReactiveCocoa学习总结(2)
信号(signal)- RACSignal类 1. 一般表示将来有数据传递,只要有数据改变,信号内部接收到数据,就会马上发出数据. 2. 事件类型: next:发送数据到下一个管道 error:发送数 ...
- java内存模型3
数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码 ...
- Linux 下按时间顺序批量删除文件
ls -lrt| awk '{print $9}'| head -n 10 | xargs rm -rf 1.文件按时间排序: 2.获取文件名字: 3.取前10个文件 4.删除文件
- 【JavaScript OPP基础】---新手必备
今天和大家分享一下近期整理的有关JavaScriptOPP的基础知识~~~我们一起来学习一下-- JavaScriptOPP基础 一.面向对象编程OOP1.语言的分类:面向机器:汇编语言面向过程:C语 ...
- h5分享页面打开APP
项目中 直播app分享出来的直播h5页面 点击进入按钮:已下载app 就进入app,未下载跳转到下载页面 判断是安卓还是ios var u = navigator.userAgent; var isA ...
- cocoapods安装和使用常见问题及解决方案
cocopods安装后pod install出现以下错误 /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems.rb:270:in find_s ...
- css浮动--float/clear通俗讲解(转载)
本文为转载 (出处:http://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html) 教程开始: 首先要知道,div是块级元素,在页面 ...
- php微信支付问题之 cURL error 60: SSL certificate: unable to get local issuer certificate
cacert.pem(点击下载) 解决办法:比如我本地安装的是wamp,将cacert.pem文件放在这个文件夹下面D:\wamp\bin\php\php5.5.12\ext 如果安装的phpStud ...
- 模仿ICE的structured panorama小按钮
这个按钮的目的是用于手动排列图片序列,应该说写得比较精巧,我使用csharp进行模仿,主要采用的是自动控件创建技术.结果比较简陋,实现功能而已,放出来大家一起学习. ; ; ...