hibernate第一天

1 Hibernate是什么

        Hibernate是一个数据库的操作框架

1.1 Jdbc的缺点

l jdbc的效率比较低

每一次请求,打开连接、发送sql语句,在数据库中解析sql语句等需要消耗大量的资源。

重复性代码特别多

       每一次都需要关闭connection,statement,rs

       Jdbc没有做到面向对象编程

       没有做到数据缓存

          现在世界上数据缓存做的很不错的框架(hibernate,oscache,ehcache)

               Oscacheehcache都有页面缓存

                  *  就是把页面上的数据缓存到本地磁盘上

                  *  当应用程序再次访问的时候,直接从磁盘上读取数据就

可以了

                        *  页面缓存不适合做更新特别频繁的数据

1.2    Jdbc的优点

        是最底层的操作数据库的框架,所以在java的层面上说速度最快

        Jdbc做到了connection pool

1.3 Hibernate优点

l 面向对象编程

l Hibernate的底层也是由jdbc实现的

l Hibernate的数据缓存做的相当棒

l Hibernate做到了connection pool

1.4 Hibernate缺点

      Hibernate不会让程序员干涉sql语句的生成,sql语句是hibernate内部操作jdbc生成的,所以在一个项目中,如果对sql的优化要求比较高,这个时候,不适合用hibernate

      如果一张表的数据量特别大(千万级别以上),也不适合用hibernate

2 Hibernate的学习内容

l 学习hibernatecrud操作

l 持久化对象的状态

l 一对多和多对多(重点)

l 数据缓存(一级缓存、二级缓存、查询缓存)(重点)   数据缓存的特点

l Hql语句

3 hibernatecrud操作

3.1 类与表的映射关系

3.2 Hibernate配置文件的加载方式

3.2.1 方式一

     注意:

1、 配置文件的名称必须是hibernate.cfg.xml

2、 把hibernate.cfg.xml文件必须放在classpath

3.2.2 方式二

       注意:

1、 利用该方法配置文件的名称可以随意写

2、 路径可以随意放

3、 Resource代表路径名称+文件名称

 注意:hibernate的事务默认不是自动提交的

3.3 crud操作注意事项

3.3.1 session.get方法

1、 要使用session.get方法,那么相对应的持久化类中必须保证有一个无参的构造函数

2、 该方法的第二个参数与持久化类中的主键的类型要保持一致。

3、 Session.get方法的第二个参数的形参:Serializable.因为只有这样才能接受所有的数据库的主键的类型

3.3.2 session.update

               参数可以是session.get方法得到的对象,也可以是新创建的对象,但是cid的值必须和数据库的值相对应。

4 Hibernate流程

5 sessionFactory

1、 sessionFactory中存放配置文件和映射文件的所有的信息

2、 一个数据库有且仅有一个sessionFactory

3、 sessionFactory是一个单例的对象

4、 sessionFactory是一个重量级别的类,只加载一次

5、 sessionFactory是一个线程安全类

6 主键的生成机制

      考虑hibernate主键的生成机制可以从三方面去想:

            客户端

            Hibernate内部可以生成主键

            数据库内部的机制生成主键

6.1 Incrment

1、 获取主键的最大值,然后加1

2、 主键的类型必须是数字类型

3、 第一步的过程是由hibernate内部做的

4、 发出select max(cid) from Classes  这样的sql语句,所以效率比较低

5、 主键的值是连续的

6.2 Identity

1、 适用于数字类型

2、 数据库表本身的自动增长

3、 主键是在数据库内部生成的

4、 表必须得设置为自动增长

6.3 Assigned

      由程序员自己设置生成

6.4 Uuid

       由hibernate内部生成一个唯一的字符串


混合动力汽车(HEV)模型的Simscape模型(Matlab代码、Simulink仿真实现)内容概要:本文档介绍了一个混合动力汽车(HEV)的Simscape模型,该模型通过Matlab代码和Simulink仿真工具实现,旨在对混合动力汽车的动力系统进行建模与仿真分析。模型涵盖了发动机、电机、电池、传动系统等关键部件,能够模拟车辆在不同工况下的能量流动与控制策略,适用于动力系统设计、能耗优化及控制算法验证等研究方向。文档还提及该资源属于一个涵盖多个科研领域的MATLAB仿真资源包,涉及电力系统、机器学习、路径规划、信号处理等多个技术方向,配套提供网盘下载链接,便于用户获取完整资源。; 适合人群:具备Matlab/Simulink使用基础的高校研究生、科研人员及从事新能源汽车系统仿真的工程技术人员。; 使用场景及目标:①开展混合动力汽车能量管理策略的研究与仿真验证;②学习基于Simscape的物理系统建模方法;③作为教学案例用于车辆工程或自动化相关课程的实践环节;④与其他优化算法(如智能优化、强化学习)结合,实现控制策略的优化设计。; 阅读建议:建议使用者先熟悉Matlab/Simulink及Simscape基础操作,结合文档中的模型结构逐步理解各模块功能,可在此基础上修改参数或替换控制算法以满足具体研究需求,同时推荐访问提供的网盘链接获取完整代码与示例文件以便深入学习与调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值