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的分页
Query query = session.createQuery("from Student");
query.setFirstResult(firstResult);//设置每页开始的记录号
query.setMaxResult(resultNumber);//设置每页显示的记录数
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的更多相关文章
- jdbc hibernate myBatis比较
jdbc hibernate myBatis比较 jdbc 优点:性能高,易掌握 缺点:代码繁琐 hibernate 优点:不用写sql,代码简洁 缺点:性能不好 自动生成的sql效率低下(复杂业务) ...
- Java面试题 OOAD & UML+XML+SQL+JDBC & Hibernate
二.OOA/D 与UML 部分:(共6 题:基础2 道,中等难度4 道) 96.UML 是什么?常用的几种图?[基础] 答:UML 是标准建模语言:常用图包括:用例图,静态图(包括类图.对象图和包图) ...
- jpa,jdbc,hibernate/mybatis,数据库驱动
JPA是规范,hibernate/mybatis是对规范的实现,hibernate/mybatis是对jdbc的封装,也就是说hibernate/mybatis还是会调用jdbc. 我们平时使用 ...
- 服务器和java程序的桥梁--jdbc/hibernate
现实的应用程序都是用户通过可视化界面发出指令从而修改数据库.本篇文章以Oracle为例,模拟怎么通过java代码实现数据库的增删改查. 新建一个Java项目,要建好桥梁,首先要拷入驱动Jar包放在项目 ...
- 事务种类jdbc,Hibernate,JTA事务
JDBC事务 String URL="jdbc:sqlserver://localhost:1433;databaseName=test2"; String USER=" ...
- 存储层技术:JDBC、Hibernate、Mybatis三者之间的比较学习
JDBC Hibernate Mybatis (Java DataBase Connnection) 是通过JAVA访问数据库 对JDBC的轻量封装 像操作对象操作数据库 对SQL的轻 ...
- 1.Hibernate简介
1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发; b.大大减少代码量; c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...
- hibernate.properties官方属性用例(可用于hibernate.cfg.xml属性参考)
######################### Query Language ######################### ## define query language constant ...
- hibernate.cfg.xml文件的配置模板和不同数据库的配置參数
(1)hibernate.cfg.xml文件的配置模板 <?xml version="1.0" encoding="UTF-8"?> <!DO ...
随机推荐
- linux dhcp 简单配置
dhcp 端口 UDP67和UDP68为正常的DHCP服务端口 rpm -qa | grep dhcp 查询是否安装了dhcp 服务 安装dhcp 服务 yum install dhcp -y 打开/ ...
- Django积木块六——验证用户是否登录
验证用户是否登录 # 开始在用户登录的时候验证结束后login登录 # request.user.is_authenticated() {% if request.user.is_authentica ...
- ZOJ1994有源汇上下界可行流
http://fastvj.rainng.com/contest/236779#problem/G Description: n 行 m 列 给你行和 与 列和 然后有Q个限制,表示特定单元格元素大小 ...
- Jeecg框架简介
官方地址:http://www.jeecg.org/
- git的认识2
我的GitHub 地址:https://github.com/lvjiaze130 唯一的感觉就是厉害了,还有看了一些个教学视频发现他们在git bush上打的东西我竟然都看不懂,是英文吗?太不好懂了 ...
- AFNetWorking使用自签证书验证
In order to validate a domain name for self signed certificates, you MUST use pinning 上述问题的解决方法: sec ...
- Flume 示例
1.Syslog Tcp Source sysylog通过配置一个端口,flume能够监控这个端口的数据.如果通往这个端口发送数据可以被flume接收到.可以通过socket发送. #配置文件:sys ...
- HBase体系架构和集群安装
大家好,今天分享的是HBase体系架构和HBase集群安装.承接上两篇文章<HBase简介>和<HBase数据模型>,点击回顾这2篇文章,有助于更好地理解本文. 一.HBase ...
- Java学到什么程度才能叫精通?
把下面这些内容掌握以后,你就可以自诩精通Java后端了. 1 计算机基础 这部分内容是计算机相关专业同学的课程,但是非科班的小伙伴(譬如在下)就需要花时间恶补了. 特别 是计算机网络,操作系统 ...
- [Swift]创建CoreData的两种方式
一.CoreData介绍 CoreData主要分为两部分: 上层是模型层,模型层有NSManagedObjectContext上下文管理着, 底层则是由SQLite实现的持久化部分,通过NSPersi ...