Hibernate知识点小结(二)】的更多相关文章

一.持久化对象和标识符    1.持久化类        配置完关系后,操作的实体对应的类,成为持久化类 (Customer) 2.持久化类标识符(oid:object id)        3.持久化类主键的生成策略        <id name="cust_id">            <generator class="native"></generator>                </id>    …
一.多表关系与多表设计 1.多表关系        一对一:            表的设计原则(分表原则):                优化表的性能                基于语意化分表                                一对一的两张表 之间的关系怎么维护?                主外键                相同主键值                                    一对多:            建表原则:  …
Hibernate部分 1.为什么要使用Hibernate开发你的项目呢?Hibernate的开发流程是怎么样的? 为什么要使用 ①.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码. ②.Hibernate 是一个基于JDBC的主流持久化框架,是一个优秀的ORM 实现.他很大程度的简化DAO层的编码工作 ③.hibernate 的性能非常好,因为它是个轻量级框架.映射的灵活性很出色.它支持各种关系数据库,从一对一到多对多的各种复杂关系. 开发流程 2.什么是延迟加载?…
一.jpa的简介和入门 JPA:Java Persistence API,接口规范    Hinernate内部为JPA规范提供实现        开发步骤(EntityManager):        1.导入额外包:hibernate-release-5.0.7.Final\lib\jpa\hibernate-entitymanager-5.0.7.Final.jar        2.使用jpa注解配置实体(实体与表的映射关系)        3.配置EneityManager的核心配置文…
一.Hibernate的简介    1.Hibernate是一个开放源代码的对象关系映射框架    2.对象关系映射:ORM  Object Relation Mapping        对象与数据表的映射        对象的属性与数据表的字段的映射                Customer实体            cust_customer表          cust_name                    cust_name          cust_phone  …
一.配置非自定义的Bean(数据源DataSource模型) DBCP数据源:        导入dbcp的jar包:dbcp+pool+connector                代码实现:            //创建数据源对象            BasicDataSource dataSource = new BasicDataSource();            //设置数据库的基本参数            dataSource.setDriverClassName("…
一.结果视图的配置    <result name="success">/success.jsp</result>        1.局部结果视图        在action标签内部配置  局部结果视图只能当前Action使用                <action name="quick_*" class="com.itheima.action.QuickAction" method="{1}&q…
C++重要知识点小结---1:http://www.cnblogs.com/heyonggang/p/3246631.html C++重要知识点小结---2:http://www.cnblogs.com/heyonggang/p/3253036.html 1.什么是智能指针? 智能指针是一个行为类似指针但也提供其他功能的类. 智能指针类实现普通指针行为的类的区别在于:智能指针通常接收指向动态分配对象的指针并负责删除该对象.用户分配对象,但由智能指针类删除它,因此智能指针类需要实现复制控制成员来管…
SpringBoot 系列教程之事务隔离级别知识点小结 上一篇博文介绍了声明式事务@Transactional的简单使用姿势,最文章的最后给出了这个注解的多个属性,本文将着重放在事务隔离级别的知识点上,并通过实例演示不同的事务隔离级别下,脏读.不可重复读.幻读的具体场景 I. 基础知识 在进入正文之前,先介绍一下事务隔离级别的一些基础知识点,详细内容,推荐参考博文 mysql 之锁与事务 1. 基本概念 以下基本概念源于个人理解之后,通过简单的 case 进行描述,如有问题,欢迎拍砖 更新丢失…
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: <disruptor笔记>系列链接 快速入门 Disruptor类分析 环形队列的基础操作(不用Disruptor类) 事件消费知识点小结 事件消费实战 常见场景 等待策略 知识点补充(终篇) 关于独立消费和共同消费 本篇是<disruptor笔记>的第四篇,前面章节写了不少代码…
C++重要知识点小结--1 :http://www.cnblogs.com/heyonggang/p/3246631.html 1.C++允许程序员声明一个不能有实例对象的类,这样的类惟一的用途是被继承.这种类成为抽象类. 一个抽象类至少具有一个纯虚函数.所谓纯虚函数是指被标明为不具体实现的虚成员函数. 如: ; //纯虚函数 在WithDrawal()的声明之后的“=0”表明程序员将不定义该函数.该声明是为派生类而保留的位置. 一个抽象类不能有实例对象,即不能由该类抽象来制造一个对象. 纯虚函…
React及Nextjs知识点小结 函数式组件和类组件区别是什么 1.函数式组件是用于创建无状态的组件,组件不会被实例化,无法访问this中的对象,无法访问生命周期方法,是无副作用的,相比于类组件函数式组件代码可读性更好,减少了大量的冗余代码,可以很方便的创建一个组件2.类组件是用于创建有状态的组件,该组件会被实例化,可以访问组件的生命周期方法 Component和PureCompoent区别是什么 1.PureCompoent是一个更具性能的Component的版本除了为你提供了一个具有浅比较…
[MQ 系列]RabbitMq 核心知识点小结 以下内容,部分取材于官方教程,部分来源网络博主的分享,如有兴趣了解更多详细的知识点,可以在本文最后的文章列表中获取原地址 RabbitMQ 是一个基于 AMQP 协议实现的企业级消息系统,想要顺畅的玩耍的前提是得先了解它,本文将主要介绍 rabbitmq 的一些基本知识点 特点 基本概念 消息投递消费的几种姿势 事务 集群 I. 基本知识点 它是采用 Erlang 语言实现的 AMQP(Advanced Message Queued Protoco…
#java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍历二维数组 1. 增强的for循环实现二维数组的遍历 for (int[] arr : ns) { for (int n : arr) { System.out.print(n + ","); } System.out.println(); } 2. 使用Arrays.deepToStri…
去掉标题栏的方法 第一种:也一般入门的时候经常使用的一种方法requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏注意这句一定要写在setContentView()方法的前面,不然会报错的 第二种:在AndroidManifest.xml文件中定义<application android:icon="@drawable/icon" android:label="@string/app_name" androi…
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大部分内容参照自这一篇文章,有一些自己补充的,也算是重新学习一下 Java 吧. 前序文章链接: Java 面试知识点解析(一)--基础知识篇 (一)高并发编程基础知识 这里涉及到一些基础的概念,我重新捧起了一下<实战 Java 高并发程序设计>这一本书,感觉到心潮澎湃,这或许就是笔者叙述功底扎实的…
一, Hibernate 介绍: Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已.用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入.删除.修改.读取等操作. 当然实际的 Hibernate 框架非常复杂,用分层的概念划分的话,它相当于在 业务逻辑处理层 和 数据库底层JDBC驱动之间的一层,即通常说的持久化层,而用户通过 XML 配置文件将具体的持久化类与数据库表映射起来.Hibernate 的实际过…
接上篇文章接Gulp使用小结(一) 内容如下: 首先,偶在gulp-demos上已经提交了个较通用的栗子...俺琢磨半天,原准备分阶段搞些 Gulp 套路,但是写完介个栗子之后,觉得已经能覆盖绝大多数的场景了(懵逼脸.gif).算哒,当偶偷懒就酱吧,一个套路打天下:) 然后,聊聊这篇值得思考的文章<我为何放弃Gulp与Grunt,转投npm scripts> 上 中 下, 英文原地址奉上:<Why I Left Gulp and Grunt for npm Scripts> 最后,…
本文依旧以Customer类和Order类进行说明.一.引言: Hibernate检索Customer对象时立即检索与之关联的Order对象,这种检索策略为立即检索策略.立即检索策略存在两大不足: A.select语句太多,而且会出现N+1的问题.所谓N+1,1是指先查出所有的Customer集合,N是指针对每个Customer再查询其关联的Order集合.N+1可以通过一条外连接查询语句完成. B.应用逻辑上可能并不需要Order集合,此时加载Order集合浪费内存空间. 为解决上述问题,Hi…
感谢:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html 一.why(为什么要用Hibernate缓存?) Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据. 二.what(Hibernate缓存原理是怎样的?)Hibernate缓…
4月7日学到的知识点:     一:<img src="1.png" alt="美女"/> alt是给图片添加介绍,当图片没加载出来时,会直接显示alt的值,在搜索引擎搜索时也可以让搜索引擎更好的找到这张图. 二:<a href="css2.ppt">标签下载</a> 当href的值是一个文件名或者压缩包时就会直接出发浏览器的下载功能去下载这个文件. 三:<a href="#id"&g…
知识的准备: (参考:汤阳光Hibernate3.6(基础)) 一.浅谈javaBean之间的关系 存在的关系: 1.关联(一对一.一对多.多对一.多对多) 2.聚合/组合(最后考虑) 3.继承 所以,映射主要分为关联映射.继承映射.其它映射 二.hibernate映射研究的就是持久化对象那一整流程 通过配置文件来控制映射 三个实体中,只要确定两个,就能得到第三个: 此文,主要是从javaBean+配置---------------自动生成-------------table() 需要自动生成,…
一.Hibernate的核心接口      所有的Hibernate应用中都会访问Hibernate的5个核心接口.      (1)Configuration接口: 配置Hibernate,启动Hibernate,创建SessionFactory对象.      (2)SessionFactory接口: 初始化Hibernate,创建Session.      (3)Session接口: 负责保存.更新.删除.加载和查询对象.      (4)Transaction接口: 管理事务.     …
一:为什么使用Hibernate缓存: Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序访问物理数据库的频次,从而提高应用程序的性能. 缓存内的数据是对物理数据源的复制,应用程序在运行时从缓存中读取数据,在特定时间或事件会同步缓存和物理数据源的数据 二:什么是Hibernate缓存: Hibernate缓存分为两种:一级缓存,二级缓存. 1.一级缓存:又称为Session缓存, Session缓存是Hibernate内置的缓存,不能被卸载,生命周期也就是在open和cl…
Hibernate提供了一系列的查询接口,这些接口在实现上又有所不同.这里对Hibernate中的查询接口进行一个小结. 我们首先来看一下session加载实体对象的过程:Session在调用数据库查询前,首先会在缓存中进行查询.如果在内部缓存中通过实体类型和id进行查找并命中,数据状态合法,则直接返回.如果内部缓存中未发现有效数据,则查询第二级缓存,如果第二级缓存命中,则返回.如在第二级缓存中没有命中,则发起数据库查询操作(Select SQL),根据映射配置和Select SQL得到的Res…
Hibernate持久化类的编写规则 Hibernate是持久层的ORM映射框架,专注于数据的持久化工作.所谓持久化,就是将内存中的数据永久存储到关系型数据库中. 持久化类 一个java类与数据库表建立了映射关系,那么这个类称为持久化类.可以简单的理解为持久化类就是一个java类有一个映射文件与数据库的表建立了关系. 持久化类的编写规则: 1.持久化类需要提供无参数的构造方法.因为在Hibernate的底层需要使用反射生成类的实例. 2.持久化类的属性需要私有,对私有的属性提供共有的get和se…
接上一批,小结(二). 三.导航内容(含左侧导航及顶部面包屑导航) 其实导航条主要根据element-ui的教程进行编写,官网:http://element-ui.cn/#/zh-CN/component.左侧导航为NaveMenu导航菜单,地址:http://element-ui.cn/#/zh-CN/component/menu,顶部为面包屑导航,地址:http://element-ui.cn/#/zh-CN/component/breadcrumb.多掌握组件的写法吧,简单上手,但是真的精…
断断续续学习es6也有一段时间了,趁着开学空闲对知识点做一些小结. 为什么使用promise 谈到Promise,我们知道,这是社区较理想的异步编程解决方案.想要掌握promise,我们首先要知道其提出原因.promise的提出很好的解决了多个相互依赖的代码之间的嵌套问题,比如说C代码需要B代码的结果,B代码需要A代码的结果,用传统的方案,会出现层层嵌套的情况,不易维护. promise对象是什么 promise对象一共有三种状态 pending(进行中) fulfilled(已成功) reje…
前言:学习的过程在于不断的总结与思考,这里记下笔者在学习过程中,所遇到的知识点,增加对框架掌握的熟悉程度. 1.环境的搭建 通过maven可以轻松搭建hibernate的环境. <properties> <hibernate.version>5.1.12.Final</hibernate.version> <junit.version>4.12</junit.version> <mysql.version>5.1.38</mys…
一.一级缓存和快照 什么是一级缓存呢? 很简单,每次hibernate跟数据库打交道时,都是通过session来对要操作的对象取得关联,然后在进行操作,那么具体的过程是什么样的呢? 1.首先session将一个对象加入自己的管理范围内,其实也就是把该对象放入自己的一级缓存中,例如,session.save(xxx):这个语句就是将xxx保存在自己的一级缓存中,等待事务提交后,hibernate才真正的发sql语句,对数据库进行操作.注意:session进行操作的时候,是将对象加入自己的一级缓存,…