JDBC&Hibernate

Posted 努力学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC&Hibernate相关的知识,希望对你有一定的参考价值。

当数据库有大量用户来访问要采取什么技术解决

  可以采用连接池;

什么是ORM

  对象关系映射(Object Relational Mapping 简称ORM)是一种为了解决面向对象与面向关系数据库存在的互不匹配的想象的技术;简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中;本质上就是将数据从一种形式转换到另一种形式。

Hibernate有哪5个核心接口。

  Configuration接口:配置Hibernate,根据其启动Hibernate,创建SessionFactory对象;

  SessionFactory接口:初始化Hibernate,充当数据储存源的代理;创建Session对象,SessionFactory是线程安全的,意味着它的同一个实例可以被应用的多个线程共享,是重量级、二级缓存;

  Session接口:负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个Session,是轻量级、一级缓存;

  Transaction接口:管理事务;

  Query和Criteria接口:执行数据库的查询。

在Hibernate中,在配置文件呈标题一对多,多对多的标签是什么

  一对多的标签为<one-to-many>;

  多对多的标签为<many-to-many>;

Hibernate的二级缓存是什么

  SessionFactory的缓存为Hibernate的二级缓存;

Hibernate是如何管理事务的

  Hibernate的事务实际上是底层的JDBC Transaction的封装或者是JTA Transaction的封装;默认情况下使用JDBC Transaction。

什么是重量级,什么是轻量级

  轻量级是指它的创建和销毁不需要小号太多的资源,意味着可以在程序中经常的创建和销毁Session的对象;

  重量级意味不能随意的创建和销毁它的实例,会占用很多的资源。

事务处理

  Connection类中提供了三个事务处理方法:

    setAutoCommit(Boolean autoCommit):设置是否自动提交事务,默认为自动提交事务,即为true,通过设置false禁止自动提交事务;

    commit():提交事务;

    rollback():回滚事务。

Java中访问数据库的步骤?Statement和PreparedStatement之间的区别?

  Java中访问数据库的步骤:

    1、注册驱动;

    2、建立连接;

    3、创建Statement;

    4、执行SQL语句;

    5、处理结果集(若SQL语句为查询语句);

    6、关闭连接。

  PreparedStatement被创建时即指定了SQL语句,通常用于执行多次结构相同的SQL语句。

JDBC、Hibernate分页怎样实现

  Hibernate的分页

1 Query query = session.createQuery("from Student");
2 query.setFirstResult(firstResult);//设置每页开始的记录号
3 query.setMaxResult(resultNumber);//设置每页显示的记录数
4 Collection students = query.list();

 

    JDBC的分页(根据不同的数据库才用不同的SQL分页语句)

      例如Oracle中的SQL语句为:"SELECT * FROM (SELECT a.*,  rownum r FROM TB_STUDENT) WHERE r between 2 and 10"

      查询从记录号2到记录号10之间的所有记录;

 




以上是关于JDBC&Hibernate的主要内容,如果未能解决你的问题,请参考以下文章

Spring整合DAO与Hibernate

hibernate保存中文mysql

Hibernate的升级&&Query用法

jdbc与hibernate的优缺点比较

部分代码片段

hibernate和jdbc的优缺点,概述