• HIbernate基础 羽毛


    框架:提供一个可重用的公共结构的半成品。
    Hibernate框架:优秀的持久化框架--属于ORM.
    负责简化将对象数据保存到数据库中,或从数据库中读取数据并封装到对象的工作,类部封装了通过JDBC访问数据库的操作。
    api:接口,别人写好的类。                                                                                                                                                                                             ORM:对象关系映射,是一种持久化状态。它在对象模型和关系型数据库之间建立对应关系。
    HIbernate框架优点:1功能强大 2支持许多面向对象的特性。 3可移植性好  4框架开源 适合于大中型项目
    缺点:不合适以数据为中心大量使用存储过程的应用   2,大规模的插入,修改和删除不适合Hibernate
     
    部署 持久化类和映射文件  参数 元素 字段  对象
    Hibernate 完成持久化类:
    1. 读取并解析配置文件       ----Configuration负责管理Hibernate配置信息
    2.读取并解析映射文件,创建SessionFactory. 
    sessionFactory负责创建session对象
    3.打开session --session 是持久化的基础,负责完成对象的持久化操作,相当于jdbc中的connect. session是持久化管理器的核心,
    提供众多的持久化方法,如:sava,delete,update.
    4,开始一个事务(可选)。
    5数据库操作
    6结束事务
    7关闭session
     
      加载对象:--get() 和load方法
     
    get和load方法区别:  当使用get()方法时,如果加载的数据不存在,get()方法会返回一个NULL
    当load时,若加载的数据不存在,则会抛出异常,  这是主要区别之一。
     
    增删改---一定要在事务环境中完成。
     
    Hibernate三种状态、
    1.瞬时状态 2持久状态 3游离状态
    hibernate主要通过session来管理java对象的状态。
    当对象与session关联,被session管理,它就处于持久状态。
    什么时候与session发送关联?get(),load()加载数据时,save,saveOrUpdate()方法时。
     
    HQL完全面向对象,没有表与字段的概念。
    from Dept as dept as关键字是可选的。
    在HQL语句中可使用lower()和yera()函数。
     
    执行HQL语句的步骤:
    1.获取session对象
    2.编写HQL语句。
    3.创建Query对象
    4.执行查询,得到查询结果。
     
    在HQL中查询语句中绑定参数:
    1字符串拼接。。‘“ +name+”’ 这种方法会导致性能降低。
    2按参数位置位置绑定。   占位符?      query.setString().
    3.按参数名称绑定。     query.setString().
    4.setParameter() 任意类型的参数
    5.setProperties()方法:绑定命名参数与一个对象的属性值
     
    2与3相比:
    3有较好的可读性,有利于代码的维护
     
    Hibernate通过配置的方式,将对象间的关联关系映射到数据库上,方便完成多表的持久化操作。
    <Set>节点的inverse属性描述了由哪一方负责维系关联关系,cascade属性描述了级联操作。
     
    http://www.cnblogs.com/jbelial/archive/2012/05/25/2506818.html   《----学习
     
  • 相关阅读:
    要对一个任意进程(包括系统安全进程和服务进程)进行指定了相关的访问权 [OpenProcessToken,LookupPrivilegeValue,AdjustTokenPrivileges]
    XPath 表达式的上下文
    Visual C++ ADO数据库编程入门
    sscanf 详细说明
    asp.net 文件下载
    [转]JavaScript 获得页面区域大小的代码
    IE与Firefox等浏览器对容器width的不同解释及解决办法
    编译Boost_1_37_0 For VS2008
    asp.net cookies
    [转]C++字符串格式化 sprintf
  • 原文地址:https://www.cnblogs.com/kangyu222/p/5089913.html
Copyright © 2020-2023  润新知