有关Hibernate知识的学习(七)
2018-03-02 本文已影响0人
MsterKerrigan
hibernate的配置文件
创建hibernate的核心配置文件
核心配置文件格式xml,但是核心配置文件的位置和名称都是固定的
位置:必须在src下面
名称:hibernate.cfg.xml
首先引入dtd的约束
hibernate在操作的过程中,只会加载核心配置文件
配置的过程:
配置数据库的信息
配置hibernate的信息(可选的)
ddl数据定义语言
把映射文件放到核心配置文件中
hibernate的基本的api的使用
实现添加操作
1、加载hibernate核心配置文件
2、创建SessionFactory对象
3、使用SessionFactory创建Session对象
4、开启事务
建议手动做事务的操作
5、写具体逻辑crud操作
6、提交事务
7、关闭资源
hibernate的映射配置文件
hibernate的映射配置文件名称和位置不是必须的
id的标签和property标签,column属性是可以省略的
在property标签里面type属性,设置生成表的字段的类型
hibernate核心配置文件
数据库的内容是必须的
hibernate部分是可选的
映射文件是必须的
hibernate的api
核心api的使用
Configuration
创建一个configuration的对象,调用configure()方法
到src下面找到名称为hibernate.hbm.xml的配置文件,创建对象,把配置文件放到对象里面(加载核心配置文件)
SessionFactory
使用configuration对象创建SessionFactory对象
在创建SessionFactory对象过程中做一些事情:
根据核心配置文件中,有数据库的配置,有映射文件部分,到数据库里面根据映射的关系把表创建
创建SessionFactory过程中,这个过程特别耗资源
在hibernate操作中,建议一个项目一般创建一个SessionFactory对象
具体实现:
写工具类,写静态代码块来实现,类加载时执行,只执行一次,在此同时创建SessionFactory
静态方法,类名直接调用
静态代码块中用的变量也是静态的
Session
类似于jdbc中的connection
调用session里面不同的方法实现crud操作
添加 save()
修改 update()
删除 delete()
根据id查询get()
session对象单线程的对象
session对象只能自己用,不能共用
Transaction
commit()提交事务
rollback()事务回滚
事务的四个特性:
原子性
一个成功都成功
一致性
操作前后事务总量没有变化
隔离性
多个事务同时操作互不影响
持久性
事务提交之后数据库中保存
解决配置文件中没有提示的问题
可以上网
网络隔离,没有提示,找不到约束文件
操作步骤:
将dtd文件导入eclipse中
搜索xml catalog
添加url,dtd的路径
location选dtd文件的路径
重启eclipse就好了