hibernate里面需要用到的基本东西

本文深入探讨Hibernate框架,涵盖其作为持久层的作用、对象关系映射(ORM)概念、瞬时态、持久态及游离态的区别,以及缓存机制、一对多与多对多关系处理、核心API使用方法和HQL查询技巧。

1.(1).hibernate是一个持久性框架,ORM(对象--关系映射)包括:有hibernate,mybatis
   (2).Hibernate的作用就是介于Java与JDBC之间的一个持久层,它通过建立与数据库表之间的映射来操纵数据库。
   (3)

1)瞬时态transient  例如:Student s=new Student(); s.setName("aa"),都是瞬时态

2)持久态persistent,对象被保存到数据库中了(包括插入的数据和更新的数据),前提是连接没有关闭

3)游离态,对象被保存到数据库中之后,连接已经关闭,但对象没有销毁,称为游离态,例如:session.close();

2.hibernate里面一级缓存,如果你不清除一级缓存,比如你做了一个查询,第一次是从数据库里面查的,但是第二次查询就是从缓存里面做的查询,用session的clear0方法,去清除所有的缓存,evict()清除指定的缓存,refresh()重新查询数据库,用来更新缓存的内容。

3.hibernate里面的一对多关系和多对多关系<many-to-one ></many-to-one> <many-to-many>

<!--本类属性名字,lazy是否延迟加载-->

<set name="movies" lazy="false">

<--对应的列-->

<key column="typeid"></key>

<!-- set集合泛型,的那个类 -->

<one-to-many class="Movie"/>

</set>

private Type type;//类里面的属性

<many-to-one name="type" column="typeid" class="Type"></many-to-one>

//多对多关系

<!-- 让学生维护关系,inverse="true"让对方级联  -->

<set name="students" table="t_c_courses" inverse="true">

<!-- 自身对象与中间表关联的字段 -->

<key column="courseId"></key>

<!--关联类,关联的中间表的外键值-->

<many-to-many class="Student" column="studentId"></many-to-many>

</set>

4.

1)save();//save方法可以更新持久态状态的对象,添加游离态对象,如果不开事物没办法更新

2)persist()//不保证立即执行,可能要推迟,添加

3)get()//根据id查询,立即查询

4)select();//查询 

5)update();//update方法可以更新游离态的对象或者更新一个给定了id(数据库中有对应的ID)的瞬时态的对象

6)delete()//根据id值删除

7)load();//load和get的区别在于get立即查询出要使用的对象,而load会延迟加载,当使用此对象时才即时从数据库中取得对象

8)saveOrUpdate();//自动检测,看你是更新还是添加,有id字段是更新,没有id字段是更新

动态更新的设置:POJO的映射文件中的<class>节点设置dynamic-update="true",这样只会更新你存的数据,不会把其他数据设置成空

10)list()查询没有缓存,需要每次查询

11)iterate()查询之后有缓存,再次需要的话,直接用就行,框架带的查询方法都是有缓存的

5.可以自己写hql语句,sql语句

6.也用二级缓存,但是用的少

 

 

源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值