hibernate主要接口和类(笔记)
来源:互联网 发布:php仓库管理mysql 编辑:程序博客网 时间:2024/05/17 01:49
hibernate的核心类和接口
Configuration 类
它的用处是:
1. 读取hibernate.cfg.xml
2. 管理对象关系映射文件 <mapping resource=””>
3. 加载hibernate 的驱动,url ,用户..
4. 管理hibernate配置信息
SessionFactory 接口(会话工厂)
1. 可以缓存sql语句和数据(称为session级缓存)!!
2. 是一个重量级的类,因此我们需要保证一个数据库,有一个SessionFactroy
session接口
它的主要功能和作用是:
1. Session一个实例代表与数据库的一次操作(当然一次操作可以是crud组合)
2. Session实例通过SessionFactory获取,用完需要关闭。
3. Session是线程不同步的(不安全),因此要保证在同一线程中使用,可以用getCurrentSessiong()。
4. Session可以看做是持久化管理器,它是与持久化操作相关的接口
query接口
通过query接口我们可以完成更加复杂的查询任务.
Sessionsession=HibernateUtil.getCurrentSession();
Transaction ts=null;
try {
ts=session.beginTransaction();
//获取query引用[这里 Employee不是表.而是domain类名]
//[where 后面的条件可以是类的属性名,也可以是表的字段,安照hibernate规定,我们还是应该使用类的属性名.]
Queryquery=session.createQuery("from Employee where namehsp='shunping'");
//通过list方法获取结果,这个list会自动的将封装成对应的domain对象
//所以我们jdbc进行二次封装的工作没有.
List<Employee>list=query.list();
for(Employee e: list){
System.out.println(e.getAaaid()+""+e.getHiredate());
}
ts.commit();
} catch (Exception e) {
if(ts!=null){
ts.rollback();
}
throw newRuntimeException(e.getMessage());
}finally{
//关闭session
if(session!=null&&session.isOpen()){
session.close();
}
criteria 接口
Sessionsession=HibernateUtil.getCurrentSession();
Transaction ts=null;
try {
ts=session.beginTransaction(
Criteriacri=session.createCriteria(Employee.class).
setMaxResults(2).addOrder(Order.desc("id"));
List<Employee>list=cri.list();
for(Employee e: list){
System.out.println(e.getAaaid());
}
ts.commit();
} catch (Exception e) {
if(ts!=null){
ts.rollback();
}
throw newRuntimeException(e.getMessage());
}finally{
//关闭session
if(session!=null&&session.isOpen()){
session.close();
}
}
- hibernate主要接口和类(笔记)
- Hibernate应用的主要接口和类
- 一、叙述Hibernate应用的主要接口和类
- Servlet总结(主要接口和类)
- Hibernate api 主要接口
- Hibernate五个主要接口
- Hibernate---->主要接口
- Servlet主要接口和类
- Hibernate的五个主要接口
- (重要!)Servlet中主要的几个接口和类
- Hibernate3.1 主要接口和类
- Hibernate3.1 主要接口和类
- 抽象类和接口主要区别分析
- JPA的api主要类和接口
- Fastjson主要接口和类库说明
- (一)logback模块和主要接口
- 10022---Hibernate--主要类和配置文件
- Hibernate-- (二)核心类和接口
- 自己创建CoreData所需要的相应类
- 如何提高转化率
- Python的多线程支持-pybatis的准备阶段(十一)
- C++ 数组array与vector的比较
- 网赚项目之站群第三课 站群上线以及注意事项
- hibernate主要接口和类(笔记)
- IntelliJ IDEA改变背景色
- 初步理解java中的反射和内省及反射和内省的用法大集合
- 表格(TableViewer类)
- 网赚项目之站群第四课站群的文章采集与伪原创
- Hadoop 如何区分 繁多的版本号
- Still no compatible AVDs with target 'Google APIs'
- uva 1423 - Guess(拓扑排序)
- umont报错 device busy 解决