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.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...
随机推荐
- libpng处理png图片(一)
一:libpng库的编译 环境:windows10 + VS2013 需要下载:libpng, zlib两个库 下载地址: libpng:http://libmng.com/pub/png/libpn ...
- java.util.NoSuchElementException: None.get的解决方法
在Java中用null表示无值返回.在Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的 笔者就常在类型转换时见到空指针错误,便是由null的特殊性导致的 而在scal ...
- Scrapy 爬虫框架入门案例详解
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:崔庆才 Scrapy入门 本篇会通过介绍一个简单的项目,走一遍Scrapy抓取流程,通过这个过程,可以对 ...
- ReactiveCocoa学习总结(1)
1. 它是什么? 官方解释: [RACSignal] is a push-driven stream with a focus on asynchronous event delivery throu ...
- [笔记]我的Linux入门之路 - 03.Java环境搭建
其实ubuntu是自带一个叫openJDK的东西的,是谷歌看Oracle不爽而搞的.不过呢...总感觉不太习惯,况且我既然都来Linux了,总是想折腾一把的. 首先先检查下有没有安装java.终端输入 ...
- eval全局作用域和局部作用域的坑!
1.eval 是个函数,他可以被赋值给变量,例如 var evalg = eval; evalg("alert(1)"); 2.eval被赋值时,也会把当前eval所处的变量 ...
- Norm 数据库操作竟然可以如此简单
github地址,https://github.com/xcr1234/norm/欢迎各位大神fork&交流! Norm Norm是一套微型的JAVA数据库ORM库,提供了简单高效的 API, ...
- 你会python不?当你听到这个问题要谨慎回答!!!
问:你会python不? 答:python啊,略微有点小研究,虽然不精通,但是写写网络小爬虫,搜集搜集网络资源,学习视频什么的,还是手到擒来的...(for循环一小时中) 旁白:然而你没有明白人家的真 ...
- TensorFlow for R
TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nod ...
- Hash Table Performance in R: Part I(转)
What Is It? A hash table, or associative array, is a well known key-value data structure. In R there ...