hibernate的表的映射和hql--第三天
来源:互联网 发布:有没有抢购软件 编辑:程序博客网 时间:2024/06/03 18:44
缓存:其实就是一块内存空间,将数据源(数据库和文件)中的数据存放到缓存中,当我们下次再获取的时候,是直接从缓存中取,而不是再次去连接数据库进行查找
事务: 事务是一组操作,要么都成功,要么都失败
特性:
1 原子性 :事务不可分割
2 一致性 : 事务执行前后数据保持一致
3 隔离性 :事务的独立,不会受到其他事务的干扰
4 持久性 : 事务一旦提交,则永久保存在数据库中
假如事务不考虑隔离性,会引发一些问题
1 脏读 :一个事务读到另一个事务未提交的数据
2 不可重读:一个事务读到另一个事务已提交的数据,导致多次查询的结果不一致
3 虚读:就是不可重读,但是不可重读强调的是一个事务读到另一个事务修改的数据,而虚读强调的是一个事务读到另一个事物添加的数据
如果要避免以上的问题:
如何解决:设置隔离级别 (级别从低到高,效率从高到底)
1 未提交读:以上3中问题都有可能会发生
2 已提交读:避免了脏读,但是另外两个问题有可能发生 (oracle)
3 可重复读:避免了脏读和不可重读,但是最后一个问题有可能发生 (mysql)
4 串行化: 以上几个问题都不会发生
可以手动通过hibernate去设置隔离级别
<property name="hibernate.connection.isolation">1|2|4|8</property>
其中: 1,2,4,8分别对应以上的1,2,3,4
hql语句:把以前的sql的表换成类,把列换成属性
from 类 where条件 group by .. having..order by ...
1 普通条件 名字=小白
2 查询 id为3~5的小白
3 查询指定的属性:
1 在javabean中写一个带指定属性的构造方法
2
4 预编译 hiberate的? 是从 0开始
5 like
6用参数去代替? 语法格式 :名字
7 如果引用参数的个数很多
1 hql中的:后面写上属性名
2 得到一个对象,分别去设置你想要的属性值
3 query.setProperties(对象)
8 聚合函数 (count max min avg sum)
count(*) -- long
max(id) -- int
9 分页:类似于mysql
query.setFirstResult(0);//跳过0条记录
query.setMaxResults(3);//获取3条记录
10 子查询:和mysql一样(用类名和属性名)
表与表的关系
学生表
id name majorid
1 小明 1
2 小红 1
3 小黑 2
专业表
id name
1 java
2 C语言
many-to-one (多对一)
多:外键表
一:主键表
第一步:配置 Many这一方
1 在javabean中配上外键所对应类的对象
2 在hbm.xml中配
这里的name=major是stu对象的属性名所以小写
<many-to-one name="major" class="com.beans.Major" >
<column name="majorid"></column>
</many-to-one>
第二部:配置one这一方
1 在javabean中封装set<many类>集合
2 在hbm.xml中配
整合 struts2 和 hibernate3
1 整合jar包
2 整合strut2的filter
3 整合 所有的xml配置文件
struts:struts.xml
hibernate: hibernate.cfg.xml和所有的xx.hbm.xml
- hibernate的表的映射和hql--第三天
- Hibernate关系映射和HQL
- Hibernate关系映射和HQL
- Hibernate框架第三天(关联映射关系)
- spring+hibernate学习的第三天
- javaee之hibernate映射和hql
- Hibernate的HQL和Criteria接口
- hibernate 中hql 的delete和update
- Hibernate的criteria分页和hql分页
- Hibernate的HQL和Restrictions运算符
- hibernate的list映射和map映射
- hibernate的list映射和map映射
- hibernate的HQL
- Hibernate的Hql查询
- Hibernate的HQL总结
- Hibernate的HQL总结
- hibernate的HQL查询
- Hibernate的HQL查询
- 在Spring中注入配置文件
- mybatis 处理结果集对象,对象包含对象[{a,b,c:[{}]}]
- 【HDU 1421】搬寝室
- Vue2 移动端开发环境搭建
- Unity3D项目程序加密2
- hibernate的表的映射和hql--第三天
- note____js
- 爬虫常用的三种通用模板小结
- BZOJ 1798 [Ahoi2009]Seq 维护序列seq 线段树
- 设计模式
- springMVC quratz 定时任务重启时自动清理任务记录表
- opencv计时函数
- get和post的区别
- [Android Studio系列(五)] Android Studio手动配置Gradle的方法