
Hibernate框架
文章平均质量分 66
Aaron++++
。。。
展开
-
Hibernate框架(1)—— 概述
一、框架是什么1. 框架是用来提高开发效率的2. 封装了好了一些功能我们需要使用这些功能时,调用即可,不需要再手动实现3. 框架可以理解为半成品的项目二、hibernate框架是什么一个项目分为Web层、Service层、Dao层三、hibernate的优点操作数据库时,可以完全以面向对象的方式来完成,不需要使用者自行书写SQL语句四、hibernate是一款ORM框架ORM:o...原创 2018-03-08 16:36:37 · 223 阅读 · 0 评论 -
Hibernate框架(16) —— Hibernate中的批量查询概述之原生SQL查询
引言 1. 当作较为复杂的查询时,hibernate基本的查询无法满足工作需求,就需要使用hibernate提供的原生SQL查询。 2. 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。该接口是Query接口的子接口。一、基础查询public class Demo{ @Test public vo...原创 2018-03-12 16:05:36 · 327 阅读 · 0 评论 -
Hibernate框架(15) —— Hibernate中的批量查询概述之Criteria查询
引言: 1. 使用范围:单表查询 2. 来源:Hibernate自创的无语句面向对象查询。一、基本查询public class Demo { @Test public void function() { //1.获得session Sessionsession = HibernateUtils.openSession(); //2....原创 2018-03-12 11:27:36 · 306 阅读 · 0 评论 -
Hibernate框架(14) —— Hibernate中的批量查询概述之HQL查询
引言 HQL:Hibernate query language HQL查询:Hibernate独家查询语言。 使用范围:适合多表查询,但不复杂时使用。一、普通查询 public class CustomerDaoImpl implements CustomerDao { public void save(Customer c) { //1...原创 2018-03-12 10:35:58 · 303 阅读 · 0 评论 -
Hibernate框架(13) —— Hibernate中的事务
一、事务特性 A 原子性:最小不可分割的单位(要么全成功,要么全失败) B 一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。 比如转账,转账前两个账户的余额是1000,转账后两个账户的余额也是1000。 C 隔离性:多线程环境下,一个线程中的事务不能被其他线程中的事务打扰。 D 持久性:事务一旦提交,就应该被永久保存起来。二、事务并发问题 ...原创 2018-03-11 22:45:34 · 267 阅读 · 0 评论 -
Hibernate框架(12) —— Hibernate一级缓存
一、引言 1.缓存:提高缓存。 2.Hibernate的一级缓存是为了提高操作数据库的效率。二、证明一级缓存存在 import org.hibernate.Session public class Demo { @Test public void function(){ 1.获得session Session session=...原创 2018-03-09 16:53:49 · 226 阅读 · 0 评论 -
Hibernate框架(11) —— Hibernate中的对象状态
一、引言 Hibernate中对象有三种状态:瞬时态、持久化态、脱管态。二、瞬时状态 1. 特点: A 没OID,不在session管理范围内。 B 也称自由态或临时态,一般指我们new出来的对象,不存在OID,与Hibernate无关联,在数据库中无记录。 C 使用后,会被JVM直接回收,只是用于信息携带。 ...原创 2018-03-09 16:01:34 · 324 阅读 · 0 评论 -
Hibernate框架(10) —— Hibernate中的实体规则
一、引言 Hibernate中持久化类的英文名称为Persistent Object(简称PO),PO = POJO + hbm映射配置文件。 例如:Customer.java 和 Customer.hbm.xml二、实体类创建的注意事项 1. 持久化类提供无参构造,否则hibernate无法创建对象(hibernate底层需要使用反射生成类的实例)。 2. 持久化类的属性需要...原创 2018-03-09 14:03:19 · 282 阅读 · 0 评论 -
Hibernate框架(9) —— HibernateUtils工具类
一、引言创建HibernateUtils工具类,将业务逻辑外的内容提取出来。二、代码public class HibernateUtils { private static SessionFactory sf; static{ //1.创建,调用空参构造,读取指定主配置文件 Configuration conf = new Configuration().c...原创 2018-03-09 12:57:32 · 1436 阅读 · 0 评论 -
Hibernate框架(8) —— API详解之Transaction类
一、功能 封装了事务的操作:打开事务、提交事务、回滚事务。二、打开事务方法 方法一:获取操作事务的tx对象(没有打开) Transaction tx = session.getTransaction(); 还需要下面打开事务 tx.begin(); 方法二:开启事务并获得操作事务的tx对象(建议使用) Transaction...原创 2018-03-09 10:25:52 · 366 阅读 · 0 评论 -
Hibernate框架(7) —— API详解之Session类
一、功能 1. 表示hibernate框架与数据库之间的会话(连接)。 2. 类似于JDBC的connection对象,还可以完成对数据库中数据的增删改查, 3. session是hibernate操作数据库的核心对象。二、获得session的方式 方式一:打开一个新的session对象 sf.openSession(); 方式二:获得一个与线程绑定的s...原创 2018-03-09 10:15:01 · 291 阅读 · 0 评论 -
Hibernate框架(6) —— API详解之SessionFactory类
一、功能 是用于创建操作数据库核心对象session对象的工厂,即:创建session对象。二、需要注意 1. sessionFactory负责保存和使用所有配置信息,消耗内存资源非常大。 2. 属于线程安全的对象设计。三、结论 保证在web项目中只创建一个sessionFactory,这个项目所涉及的所有的session 都交由这个sessionFactory来管理...原创 2018-03-09 09:47:25 · 343 阅读 · 0 评论 -
Hibernate框架(5) —— API详解之Configuration类
一、功能: 配置加载类,用于加载主配置,orm元数据加载。二、如何使用: 1. 创建,调用空参构造 Configuration conf = new Configuration(); 2. 读取指定主配置文件 conf.configure();空参加载方法默认加载src下的hibernate.cfg.xml文件 3. 读取指定orm...原创 2018-03-08 23:20:30 · 494 阅读 · 0 评论 -
Hibernate框架(4) —— Hibernate主配置(配置详解)
引言:Hibernate主配置文件 为hibernate.cfg.xml<?xml version=”1.0” encoding=”UTF-8”?><!DOCTYPE hibernate-configuration PUBLIC “-//Hibernate/HibernateConfiguration DTD 3.0//EN” “http://www.hibernat...原创 2018-03-08 20:48:12 · 242 阅读 · 0 评论 -
Hibernate框架(3) —— ORM元数据(配置详解)
一、orm元数据示例<hibernate-mapping> <class name=”cn.it.domain.Customer” table=”cst_customer”> <id name=”cust_id” column=”cust_id”> <generator class=”native”><...原创 2018-03-08 20:00:53 · 905 阅读 · 0 评论 -
Hibernate框架(2) —— 基本搭建
步骤一:导包1. 必须包(9个)2. 驱动包(mysql-connector-java-5.1.7-bin.jar)连接数据库的驱动步骤二:创建数据库,准备表(示例:客户实体)CREATE TABLE `cat_customer` ( `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT ‘客户编号’, `cust_name`...原创 2018-03-08 18:02:21 · 222 阅读 · 0 评论 -
Hibernate框架(17) —— Hibernate中uniqueResult()与list()的区别
引言:根据查询条件,如果只会返回唯一结果,使用uniqueResult()这个方法,否则就使用list();uniqueResult()通常是在业务方法查询语句中用到的,比如根据主键ID查询。当不确定时,用list()方法。一、list()方法使用场景:查询结果返回多个值public class Demo{ @Test public void function() { /...原创 2018-03-12 16:06:24 · 385 阅读 · 0 评论