HQL是面向对象的查询,查询的是对象 和对象中的属性
查询所有客户
![f21cb05b2e75d12871ec746095fde001.png](https://img-blog.csdnimg.cn/img_convert/f21cb05b2e75d12871ec746095fde001.png)
选择查询
![44743ac9595986528c3497dc61b5adce.png](https://img-blog.csdnimg.cn/img_convert/44743ac9595986528c3497dc61b5adce.png)
投影查询
![b47bbbde9038a2790cb56753c2261ef0.png](https://img-blog.csdnimg.cn/img_convert/b47bbbde9038a2790cb56753c2261ef0.png)
排序
![807bd9d56ae5a697ebfa54b825eead5d.png](https://img-blog.csdnimg.cn/img_convert/807bd9d56ae5a697ebfa54b825eead5d.png)
分页
![eb495eaf018a084a181056685e1350f8.png](https://img-blog.csdnimg.cn/img_convert/eb495eaf018a084a181056685e1350f8.png)
聚合函数和分组查询
![7d482e909c25d1d95f5c859a4c4168b3.png](https://img-blog.csdnimg.cn/img_convert/7d482e909c25d1d95f5c859a4c4168b3.png)
连接查询
INNER JOIN: 在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
LEFT OUTER JOIN: 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行
RIGHT OUTER JOIN:关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
交叉连接 : sql 笛卡尔积(与每个数据都组合的结果)
![291843b241692cf999c677e531742db6.png](https://img-blog.csdnimg.cn/img_convert/291843b241692cf999c677e531742db6.png)
隐式内连接
![8c389c0e5aef744b9f158a749bca6400.png](https://img-blog.csdnimg.cn/img_convert/8c389c0e5aef744b9f158a749bca6400.png)
内连接
![13804e086a26ec6a6e9ad2268f345385.png](https://img-blog.csdnimg.cn/img_convert/13804e086a26ec6a6e9ad2268f345385.png)
迫切内连接(迫切fetch:得到的结果为一个对象,而不是一个数组 )
![c8418583afb16d392ca3c4e9a8ca32ca.png](https://img-blog.csdnimg.cn/img_convert/c8418583afb16d392ca3c4e9a8ca32ca.png)
左外连接
![3a2007f41413ac34c883e2d80bcea519.png](https://img-blog.csdnimg.cn/img_convert/3a2007f41413ac34c883e2d80bcea519.png)
迫切左外连接
![8d16f5f78c1795c565dd444d24f89588.png](https://img-blog.csdnimg.cn/img_convert/8d16f5f78c1795c565dd444d24f89588.png)
命名查询(先在映射文件内写HQL语句)
![3c55a808b4bb6d091ea9ae08f352f992.png](https://img-blog.csdnimg.cn/img_convert/3c55a808b4bb6d091ea9ae08f352f992.png)
![f7b22b27a2c6027666f25d24db685d4c.png](https://img-blog.csdnimg.cn/img_convert/f7b22b27a2c6027666f25d24db685d4c.png)
QBC查询
简单查询
![9e8cce1592d7fdc71f3537dd89fbf3fe.png](https://img-blog.csdnimg.cn/img_convert/9e8cce1592d7fdc71f3537dd89fbf3fe.png)
分页
![da3757efea723e7616bb61902224d7a3.png](https://img-blog.csdnimg.cn/img_convert/da3757efea723e7616bb61902224d7a3.png)
排序
![11371f76dfde620926990346aea1b604.png](https://img-blog.csdnimg.cn/img_convert/11371f76dfde620926990346aea1b604.png)
条件查询
![6e237a5d7d97c7626d2ad5cb7ca5bdde.png](https://img-blog.csdnimg.cn/img_convert/6e237a5d7d97c7626d2ad5cb7ca5bdde.png)
配置c3p0连接池
导入c3p0的jar包
在hibernate主配置文件中添加:
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.max_size">2</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.timeout">5000</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.validate">false</property>
如果在使用session中出现即配置成功:
![409fa4b44443e47827eae99dc35829fe.png](https://img-blog.csdnimg.cn/img_convert/409fa4b44443e47827eae99dc35829fe.png)
Hibernate中设置隔离级别
在hibernate.cfg.xml 配置
![244ecf3fef547f98a3d3bcb740e2303c.png](https://img-blog.csdnimg.cn/img_convert/244ecf3fef547f98a3d3bcb740e2303c.png)
悲观锁:
1.读锁/共享锁(select * from table lock in share mode;)别人能读不能写
读锁可被其他线程所共享,大家都可以用这把锁读到数据,但是其它线程不提交Commit,就不能执行更新数据的语句。
2.写锁/排他锁(select * from table for update)别人不能读也不能写
可以锁一张表,或者锁一行记录
写锁不能共享,只要有人为数据加入了写锁,其他人就不能为数据加任何锁,当提交后才可以读取这个表
![9a55c51f201c558a3fa3d272f03b386c.png](https://img-blog.csdnimg.cn/img_convert/9a55c51f201c558a3fa3d272f03b386c.png)
乐观锁:
表中添加一个version字段来控制数据不一致性
在javabean中添加version变量,一般为Integer
![1a2a1407b3b74f2ead3c3f49c0326955.png](https://img-blog.csdnimg.cn/img_convert/1a2a1407b3b74f2ead3c3f49c0326955.png)
在映射文件中配置:
![53080c0e24d85c42792747babe924296.png](https://img-blog.csdnimg.cn/img_convert/53080c0e24d85c42792747babe924296.png)
如果更新的版本比在数据库的版本低,就会更新出错
![53f6456358caa4836dacea8dd3ecf614.png](https://img-blog.csdnimg.cn/img_convert/53f6456358caa4836dacea8dd3ecf614.png)