hibernate学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一次课:
持久化:就是把瞬时状态的数据转变为持久化状态的数据,这一个过程就是持久化。
(java中内存分为:栈(变量,方法,形参都是在栈上),堆(new出来的对象在堆上))
1)瞬时状态:刚new出来,在内存中存在的对象就是瞬时状态的。如果程序结束,对象就会被回收。
2)持久化状态:在磁盘或者是数据库中存在的数据就是持久状态。
Hibernate是什么?
1)是一个优秀的持久化框架,对jdbc进行进一步的封装。(hibernate,ibatis )。
2)是一个ORM (Object relation mapping ).
Mysql,oracle,access 是关系型数据库
= hibernate操作的是对象。
使用hibernate的步骤:1)新建项目
2)引入jar包(hibernate最少依赖8个jar包)
3)新建 hibernate配置文件(hibernate.cfg.xml) ,放在src根目录下面。
用于数据库的配置信息。
4)写bean/vo类,并且编写映射文件。
5)将映射文件添加到hibernate.cfg.xml文件中
6)数据测试:
//向数据库中添加一条数据
//1.读取配置文件
Configuration cfg = new Configuration().configure();
//2.创建一个工厂
SessionFactory factory = cfg.buildSessionFactory();
//3.获得session (是一个连接对象 Connection)
Session session = factory.openSession();
//4.开始事务
Transaction tx = session.beginTransaction();
//5.添加用户
User u = new User();
u.setName("admin");
u.setPass("123");
session.save(u);//保存对象
//6.提交事务
mit();
//7.关闭
session.close();
Hibernate操作数据库的几个对象:
1)Configuration:
Configuration cfg = new Configuration().configure(); 读取文件名为hibernagte.cfg.xml 文件中的信息
//如果修改过配置文件名称
Configuration cfg = new Configuration().configure(“配置文件名”);
2)SessionFactory:用于产生Session的工厂类,耗费大量的资源。一个项目中只存在一个。
cfg.buildSessionFactory();
3)Session类:jsp/servlet中的session代表的是浏览器一次会话。而hibernate中的Session,代表的是程序与数据库之间的链接。相当于 Connection。
Session session = facory.openSession(); //打开一个新的session连接。
一定要关闭
4)Transaction: 代表的是事务。对数据库的一次操作,要么都成功,要么都失败Transation tx = session.beginTransaction();
mit();//事务提交
添加用户save : User u = new User();
u.setName("admin1111");
u.setPass("123");
session.save(u);//保存对象
查询用户:get() /load();
User u = (User)session.get(User.class,1); //查询id号为1的用户
//立即发送sql语句,然后返回一个对象
User u = (User)session.load(User.class,1);//没有发送sql语句,先到hibernate 缓存中查。如果没有使用User对象(u.setName(),u.getName()),不会发送sql语句。懒加载。
删除用户:
User u = (User)session.get(User.class,1); //获得id号为1的数据