- 2
- 0
- 约9.57千字
- 约 45页
- 2016-12-05 发布于浙江
- 举报
Hibernate的初始化 (1)创建一个Configuration类的实例,Configuration类的构造方法把默认文件路径下的perties配置文件中的配置信息读入到内存: Configuration config = new Configuration(); (2)调用Configuration类的addClass(Customer.class)方法: config.addClass(Customer.class); 该方法把默认文件路径下的Customer.hbm.xml文件中的映射信息读入到内存中。 (3)调用Configuration类的buildSessionFactory()方法: sessionFactory = config.buildSessionFactory(); SessionFactory接口 一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。SessionFactory有以下特点: 它是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。 它是重量级的,这意味着不能随意创建或销毁它的实例。如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实例。如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFactory实例。 Session接口 Session接口是Hibernate应用使用最广泛的接口。 Session也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。 Session有以下特点: 不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。 Session实例是轻量级的,所谓轻量级是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建或销毁Session对象,例如为每个客户请求分配单独的Session实例,或者为每个工作单元分配单独的Session实例。 Session接口操纵数据库的方法 Session接口提供了操纵数据库的各种方法,如: save()方法:把Java对象保存数据库中。 update()方法:更新数据库中的Java对象。 delete()方法:把Java对象从数据库中删除。 load()或get()方法:从数据库中加载Java对象。 find()方法:从数据库中查询Java对象。在 Hibernate3中,该方法已经被废弃。 Hibernate提供了专门的Query查询接口。 用Session来执行事务的流程 Session session = factory.openSession(); Transaction tx; try { //开始一个事务 tx = session.beginTransaction(); //执行事务 ... //提交事务 mit(); } catch (Exception e) { //如果出现异常,就撤销事务 if (tx!=null) tx.rollback(); throw e; } finally { //不管事务执行成功与否,最后都关闭Session session.close(); } 正常执行数据库事务的流程 saveCustomer()方法 该方法调用Session的save()方法,把Customer对象持久化到数据库中。 tx = session.beginTransaction(); session.save(customer); mit(); 当运行session.save()方法时,Hibernate执行以下SQL语句: insert into CUSTOMERS (ID, NAME, EMAIL, PASSWORD, PHONE, ADDRESS, SEX, IS_MARRIED,DESCRIPTION, IMAGE, BIRTHDAY, REGISTERED_TIME) values(1,Tom,tom@,1234Shanghai,M,0,I am very honest., ?,1980-05-06,null) 在test()方法中并没有设置Customer对象的id属性,Hibernate会根据映射文件的配置,采用in
您可能关注的文档
- 8第八章、发动机电控系统(一)——山东万通汽修学校幻灯片.ppt
- 8计算机控制系统的数字仿真幻灯片.ppt
- 09-chapter-04手性药物幻灯片.ppt
- 09彩 色 阶 调 印 花幻灯片.ppt
- 09第九讲 数据拟合幻灯片.ppt
- 09第九讲[网络安全]幻灯片.ppt
- 9 第九讲 参数化设计幻灯片.ppt
- 9 林木遗传参数的估算幻灯片.ppt
- 9、第九章 显示卡幻灯片.ppt
- 9-6含参变量的积分幻灯片.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)