• Hibernate课堂笔记


    1.java持久化概述

          Java持久化简称(JPA), 即把程序中的临时数据持久保存到数据库中。由于jdbc开发效率低,我们就提出了对象关系映射(ORM)的概率

    2.ORM

          通过java持久化提供的API来讲java的实体对象保存到数据库中。

    3.Hibernate

          Hibernate的核心就是基于ORM的设计思想,对于Hibernate来说,一个java类就是数据库中的一张表,java类中的一个属性就是表中的一个字段,一个java类的实例就是一条数据

    4.Hibernate框架搭建

          a.新建java项目

          b.添加hibernate相关jar到项目lib目录中

          c.新建java实体类和对于的数据库表

          d.创建实体类相关*.hbm.xml映射文件

          e.hibernate的配置文件hibernate.cfg.xml放在src下

          f.测试

    5.Hibernate的增删查改

          增save()

          删除delete()

          改 update()

          查询 get(),load()

    6.get()和load()的区别

          见案例

    7.lazy属性 懒加载/延迟加载

          用到时才加载

    lazy="true"

    8.Hibernate的对象状态

          1.瞬时状态、临时状态

               只能new出来的对象

               不处于session的缓冲中(session不管理)

               对象在数据库中没有对应的记录

               只要主键在数据库中存在,就说这个对象在数据库中有对应的记录

          2.持久化状态

               1.处于session的管理范围

                     当执行session的方式(save/update/saveOrUpdate/get/load)时,这个对象就会自动转成持久状态

               2.在数据库中有对应的记录

               3.处于游离状态的对象,当对象属性进行更改的时间,提交事物更改会反映到数据中。

          3.游离状态

               1.对象不处于session管理范围,通常指session关闭后的对象状态

               2.对象在数据库中有对应的数据

    9.hibernate 一级缓存(也叫session缓存)

          当执行session的相关方法时,入save,update,get,load等方法时,对象会自定放入一级缓存中,当session关闭缓存就会消失。

          特点:

    1. 缓存有效范围,只在当前session范围,缓存时间很短,作用范围小
    2. 一级缓存,可以在短时间内多次操作数据库的时候,提升效率,减少对数据库的访问次数
    3. 在提交事物时,hibernate会同步缓存到数据库中,会对比缓存数据和数据库数据是否一致,如果一致不修改数据库,不一致提交到数据库执行update语句。

    session.clear();清空缓存

    session.evict(user1);清除指定缓存

    10.实体关系(表与表的关系)

          多对一  学生 对  班级

          一对多  班级   对 学生

    双向一对多

          多对多    学生   对 老师

          一对一  用户 对  身份证

    11.控制反转

          inverse="true" :控制反转,把主导权给另一方 就会失去外键维护的权利

  • 相关阅读:
    vue 购买弹出框 动画
    vue 和animate.css 的动画使用
    获得url地址?后的参数
    Java 实现随机数组元素升降序
    java for循环实现九九乘法表
    java 随机生成字符串验证码
    Mysql插入值时,避免重复插入
    Mysql的unique和primary key
    2020 3.6日电话面试(某外包公司)
    Intellij IDEA配置javaweb项目
  • 原文地址:https://www.cnblogs.com/jjqq0921/p/10194646.html
Copyright © 2020-2023  润新知