频道栏目
首页 > 资讯 > 其他 > 正文

SSH框架之HibernateAPI详解

16-12-17        来源:[db:作者]  
收藏   我要投稿

SSH框架之HibernateAPI详解:
一、Configuration 配置管理类对象
1、config.configure(); 加载主配置文件的方法(hibernate.cfg.xml)
默认加载src/hibernate.cfg.xml
2、config.configure(“cn/config/hibernate.cfg.xml”); 加载指定路径下指定名称的主配置文件
3、config.buildSessionFactory(); 创建session的工厂对象

package sram.hello;
import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

public class App2 {
    private static SessionFactory sf;

    static{
        /*
        //1.创建配置管理类对象
        Configuration config = new Configuration();
        //  加载配置文件(默认加载src/hibernate.cfg.xml)
        config.configure();

        //2.根据加载的配置管理类对象,创建SessionFactory对象
        sf = config.buildSessionFactory();
        */

        //创建sf对象
        sf = new Configuration().configure().buildSessionFactory();
    }

二、SessionFactory:session的工厂(或者说代表了这个hibernate.cfg.xml配置文件)
1、sf.openSession(); 创建一个sesison对象
2、sf.getCurrentSession(); 创建session或取出session对象

三、Session:session对象维护了一个连接(Connection), 代表了与数据库连接的会话。
Session是Hibernate最重要的对象:只要使用hibernate与数据库操作,都用到这个对象。
1、session.beginTransaction(); 开启一个事务; hibernate要求所有的与数据库的操作必须有事务的环境,否则报错!

2、更新:
1)session.save(obj); 保存一个对象

2)session.update(emp); 更新一个对象

3)session.saveOrUpdate(emp); 保存或者更新的方法:
a)没有设置主键,执行保存;

b)设置主键,执行更新操作;但是注意:如果设置主键不存在报错!

3、主键查询:
1)session.get(Employee.class, 1); 主键查询
2)session.load(Employee.class, 1); 主键查询 (支持懒加载)

四、Transaction hibernate事务对象

五、问题:
1、ClassNotFoundException….异常的原因
答:缺少jar文件!

2、如果程序执行了,hibernate也生成了sql语句,但数据没有结果影响。
答:一般是事务忘记提交或者根本就未开启事务等…….
查询可以不提交事务,因为查询只是只读事务,没有修改操作。

六、处理问题:
遇到问题,一定要学会看错误提示!
错误信息从下往上看,从一个cause by看起,如果没有那就只能看第一行了。

相关TAG标签
上一篇:高并发实战之幂等处理
下一篇:Manen下的Spring MVC项目错误
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站