我的hibernate学习笔记(1)

软件开发的分层思想:

    三层架构:

  

 

数据表现层

业务逻辑层

数据持久层

SUN的桌面应用

Swing AWT

普通Java

JDBC

SUNWEB基本应用

JSP

普通Servlet

JDBC

SUNWEB高级应用

JSF

SessionBean

Persistence

WEB国内流行开源

Struts

Spring

Hibernate

 

一、 对象持久化的理论

    1.对象持久化:内存中的对象转存到外部持久设备上,在需要的时候还可以恢复。

2.对象持久化的原因(目标)

 

      物理:

1) 内存不能持久,需要在硬盘上持久保存 //(物理上,物理的都不是根本原因

2) 内存容量有限,需要在容量更大的硬盘上保存 

      应用:

3) 共享(Internet的本质:信息的收集、整理、发布) //最重要的原因

4) 检索(大规模) //也很重要

5) 管理(备份、安全

    3.怎样进行对象持久化?(仅从JAVA方面讲

      物理:

1) 对象序列化

2) DB技术(JDBC 数据库

    4.怎样利用数据库做对象持久化?

            1) JDBC 

               优点:功能完备、理论上效率高

               缺点:复杂()、代码量大、面向R(过程;二维表关系

            2) EJB 仅讲Entity Bean

               优点:封装JDBC

               缺点:更复杂的API、重量级(侵入式)、功能不完备、难共享

                      缺点的后果:开发周期长、测试困难、面向过程

               以上是 2.0之前的版本,但 3.0Hibernate基本一样

            3) ORM 轻量级框架(Hibernate) 

               现阶段最佳的持久化工具:文档齐全、服务很好、工业标准、大量应用、易学

               优点:封装JBDC、简单的API、轻量级(只做持久化)(用类库)PO(持久对象)->POJO(JAVA)、开源

               缺点:不够JDBC灵活

    5.结论:

      1)对象持久化是必须的

      2)必须使用DB来实现

      3)Hibernate必须的(现阶段最佳选择

          开源工具的通常问题:1.文档不全;2.服务不全;3.标准化不够

          Hibernate避免了所有这些问题 

 

二、 ORMHibernate的相关知识(理解)

    1) ORM:Object Relational Mapping

       对象-关系映射实现了面向对象世界中对象到关系数据库中的表的自动的(和透明的)持久化使用元数据(meta data)描述对象与数据库间的映射。

    2) Hibernate是非常优秀、成熟的O/R Mapping框架。它提供了强大的对象和关系数据库映射以及查询功能。

 

    规范:

        1.一个映射文件对应一个持久类(一一对应

        2.映射文件的名字和它所描述的持久类的名字保持一致

        3.映射文件应该与它所描述的类在同一包中

po -> (pojo) 

-> oid(唯一,中性

-> getters/setters

-> 构造方法

 

 

三、Hibernate核心API(理解)

    Configuration:

        Configuration对象用于配置和启动HibernateHibernate应用通过Configuration实例来指定对象-关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。

    SessionFactory接口:

        一个SessionFactory实例对应一个数据存储源。应用从SessionFactory中获取Session实例。

        1)它是线程安全的,这意味着它的一个实例能够被应用的多个线程共享。

        2)它是重量级的,这意味着不能随意创建或者销毁,一个数据库只对应一个SessionFactory

          通常构建SessionFactory是在某对象Bean的静态初始化代码块中进行。

          如果应用只是访问一个数据库,只需创建一个SessionFactory实例,并且在应用初始化的时候创建该实例。

          如果应用有同时访问多个数据库,则需为每个数据库创建一个单独的SessionFactory

    Session接口:

        Hibernate应用最广泛的接口。它提供了和持久化相关的操作,如添加,删除,更改,加载和查询对象。

        1)它是线程不安全的,因此在设计软件架构时,应尽量避免多个线程共享一个Session实例。

        2)Session实例是轻量级的,这意味着在程序可以经常创建和销毁Session对象,

          例如为每个客户请求分配单独的Session实例。

          原则:一个线程一个Session;一个事务一个Session

    Transaction接口:

        Hibernate的事务处理接口,它对底层的事务接口进行封装。

    QueryCriteria接口:

        这两个是Hibernate的查询接口,用于向数据库查询对象,以及控制执行查询的过程。

        Query实例包装了一个HQL查询语句。

        Criteria接口完全封装了基于字符串形式的查询语句,比Query接口更面向对象。Criteria更擅长于执行动态查询。

        补充:find方法也提供数据查询功能,但只是执行一些简单的HQL查询语句的快捷方式(已过时),远没有Query接口强大!

【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性分析(包含锁相环电流环)(Simulink仿真实现)内容概要:本文档围绕“博士论文复现”主题,重点介绍了光伏并网逆变器的阻抗建模与扫频法稳定性分析,涵盖锁相环和电流环的Simulink仿真实现。文档旨在通过完整的仿真资源和代码帮助科研人员复现相关技术细节,提升对新能源并网系统动态特性和稳定机制的理解。此外,文档还提供了大量其他科研方向的复现资源,包括微电网优化、机器学习、路径规划、信号处理、电力系统分析等,配套MATLAB/Simulink代码与模型,服务于多领域科研需求。; 适合人群:具备一定电力电子、自动控制或新能源背景的研究生、博士生及科研人员,熟悉MATLAB/Simulink环境,有志于复现高水平论文成果并开展创新研究。; 使用场景及目标:①复现光伏并网逆变器的阻抗建模与扫频分析过程,掌握其稳定性判据与仿真方法;②借鉴提供的丰富案例资源,支撑博士论文或期刊论文的仿真实验部分;③结合团队提供的算法与模型,快速搭建实验平台,提升科研效率。; 阅读建议:建议按文档目录顺序浏览,优先下载并运行配套仿真文件,结合理论学习与代码调试加深理解;重点关注锁相环与电流环的建模细节,同时可拓展学习其他复现案例以拓宽研究视野。
内容概要:本文系统解析了嵌入式通信协议栈系列项目的实践路径,围绕通信原理与工程实现,阐述在资源受限的嵌入式环境中构建稳定、可扩展通信能力的方法。文章从通信基础模型出发,强调分层设计思想,涵盖物理层到应用层的职责划分,并依次讲解通信驱动、数据收发机制、帧格式解析、状态机控制、错误处理等核心技术环节。项目实践注重底层可靠性建设,如中断响应、缓冲区管理与数据校验,同时关注上层应用对接,确保协议栈支持设备配置、状态上报等实际业务。文中还突出性能优化与资源管理的重要性,指导开发者在内存与处理效率间取得平衡,并通过系统化测试手段(如异常模拟、压力测试)验证协议栈的健壮性。; 适合人群:具备嵌入式系统基础知识,有一定C语言和硬件接口开发经验,从事或希望深入物联网、工业控制等领域1-3年工作经验的工程师。; 使用场景及目标:①掌握嵌入式环境下通信协议栈的分层架构设计与实现方法;②理解状态机、数据封装、异常处理等关键技术在真实项目中的应用;③提升在资源受限条件下优化通信性能与稳定性的工程能力; 阅读建议:建议结合实际嵌入式平台动手实践,边学边调,重点关注各层接口定义与模块解耦设计,配合调试工具深入分析通信流程与异常行为,以全面提升系统级开发素养。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值