打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Hibernate笔记(一)

Hibernate笔记(一)

分类: javaEE 71人阅读 评论(0) 收藏 举报

1. 使用Hibernate 导出数据库表

(ExportDB.java 工具类)

/**

 * 使用hibernate导出数据库(由modlehibernate配置文件生成数据库表),但要先有数据库

 */

package com.zoukang.usermgr.util;

 

import org.hibernate.cfg.Configuration;

import org.hibernate.tool.hbm2ddl.SchemaExport;

 

public class ExportDB {

    public static void main(String[] args) {

       // 读取hbiernate.cfg,xml文件

       Configuration cfg = new Configuration().configure();

       // 创建SchemaExport

       SchemaExport export = new SchemaExport(cfg);

       export.create(truetrue);

    }

}

 

2. 采用编程式异常:

1.getCurrensSession()和openSession()的区别?

    *采用getCurrentSession()方法创建的session会绑定到当前线程中而

     采用openSession()的方法创建的session不会绑定到当前线程中

    *采用getCurrentSession()创建的session会在commintrollback后自动关闭

    而采用openSession()方法创建的session必须手动关闭

2.使用getCurrentSEssion(0必须在hibernate.cfg.xml文件中进行配置:

    *如果采用的是本地事务(JDBC事务)

    <property name="hibernate.current_session_cuntext_class">thread</property>

    *如果采用的是全局事务(JTA事务)

    <property name="hibernate.current_session_context_class">jta</property>

 

 

3.采用声明式事务:

a.声明式事务的配置

         * 配置 SessionFactory

         * 配置事务管理器

         * 事务传播特性

         * 哪些类哪些方法使用事务

 b.编写业务逻辑方法

         *

 

4。Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页?

    1、hibernate自带的分页机制:获得Session对象后,从Session中获得Query对象。用Query.setFirstResult():设置要显示的第一行数据,

       Query.setMaxResults():设置要显示的最后一行数据。

    2、不使用hibernate自带的分页,可采用sql语句分页,

       如:5:为每页显示的记录,2为当前页: select * top 5 from table where tabId not in (select tabId top (2-1)*5 from table);

5。Hibernate核心接口:

  Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。

  ·Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。

  ·SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

  ·Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

  ·Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。

  ·Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Hibernate学习笔记总结(一)——Hibernate 3.x 基础
Hibernate工作原理(图解)
Hibernate学习笔记1
hibernate 接口简单介绍
hibernate的工作原理以及为什么要使用hibernate
hibernate
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服