spring笔记

-
spring学习笔记;供大家参考主要是spring的底层实现了
对一关联 16 1一对一单向外键关联 .16 2一对一双向夕键关联 ··新··新。·。···和日“, 16 3一对一单向主键关联(不重要) 17 4一对一双向主键关联(不重要)… 17 5联合主键 .17 组件映射.. 17 1项目: hibernate1100 componcnt 17 2对象关系:一个对象是另外一个对象的一部分 17 3数据库表:一张表 17 4 annotation: Embeddable @Embbeded 5xm:使用< component例如 18 多对一与一对多… 18 1多对一单向关联 18 2一对多单向关联… …19 3一对多(多对一)双向关联 19 多对多… 1单向关联:… 20 2双向关联: …20 关联关系中的 CRUD Cascade fetch 1 hibernate 1700 one2many many 2one bi crud 21 2设定 cascade以设定在持久化时对于关联对象的操作(CUD,R归 Fetch管) 21 3 cascade仅仅是帮我们省」编程的麻烦而已,不要把它的作用看的太大……21 4铁律:双向关系在程序中要设定双向关联 5铁律:双向 mapped 6 fetch 7 Update时 @Many Toone中的 cascade参数关系… 8 Delete时 @ManyToOneo中的 cascade关系 2 9O/ MApping编程模型…… l0要想删除或者更新先做load,除了精确知道I之外 23 11如果想消除关联关系,先设定关系为nulL.冉删除对应记录,如果不删记录,该记永变成 垃圾数据 23 12练习:多对多的CRUD 关系映射总结. 1什么样的关系,设计什么样的表,进行什么样的映射 ∴24 2CRUD,按照自然的理解即可(动手测试)… 24 集合映射(不太重要) 1项目名称: hibernate1800 Collections Mapping… 124 3List(与Set差不多多个@ a OrderBy)… 124 4 M 继承映射(不太重要)… 24 1三种方式… 24 作: 24 1学生误程、分数的设计(重要) 124 2设计: 24 3树状结构的设计(至关重要) .25 Hibernate查询( Query language)…...,. D。非香看。非春垂看·。。D HQL VS EJBQI灬 26 1 NativeSQL >HQL.> EJBQlOPQL 1.0)>QBC(Query By Criteria)>QBE(Query By Example)"26 2总结:OL应该和导航关系结合,共同为查询提供服务。… 性能优化 26 1注意 session.clear(的运用,尤其在不断分页循环的时候 26 21+N问题(典型的面试题)(详见 hibernate2800 Hibernate1N项日). 26 3list和 Iterate不同之处(/主要为了面试详宽 hibernate2900 Hibernate list iterate) 26 4一级缓存和二级缓存和査询缓存(面试题)(详见 hibernate_3000 Hibernate3 Kindsof cache) 26 5事务并发处理(面试的意义更大 27 课程内容 1 Helloworld a) Xml b)annotation 2 Hibernate原理模拟-什么是0/ R Mapping以及为什么要有0/ R Mapping 3常见的0/R框架(∫解) 4 hibernate基础配置(重点) 5ID生成策略(重点AUTO 6 Hibernate核心开发接口介绍(重点) 7对象的三种状态(了解) 8关系映射(重点) 9 Hibernate查询(HQL) 10在 Struts基础上继续完善BBS200 l1性能优化(重点) 12补充话题 风格 先脉终,后细节 2先操作,后原理 3重 Annotation,轻xm1配置文件 a) JPA b) hibernate- extension 资源 1http://www.hibernateorg 2 hibernate zh cn文档 3 hibernate annotation references 环境准备 1下载 hibernate- distribution-3.3.2.GA-dist 2下载 hibernate- annotations-3[1].4.0.GA 3注意阅读 hibernate compatibility matrix( hibernate网站 download) 4下载s1f4j1.5.8 Hibernate helloworld 1建立新java项目,名为 hibernate0100 HelloWorld 2学习建User-1 ibrary- hibernate,并加入相应的jar包 a)项目右键- bui ldpath- configure build path- add library b)选择User-1 ibrary,在其中新建1 ibraray,命名为 hibernate c)在该1 ibrary中加入 hibernate所需jar包 i. hibernate core ii./ required ii1. slf-nop jar 3引入mysq1的JDBC驱动包 4在 mysql中建立对应的数据库以及表 a) create database hibernate use hibernate c) create table Student (id int primary key, namevarchar(20), age int) 5建立 hibernate配置文件 hibernate.cfg.xm1 a)从参考文档中copy b)修改对应的数据库连接 c)注释掉暂时用不上的内容 6建立 Student类 7建立 Student映射文件 Student.hbm.xm1 a)参考文档 8将映射文件加入到 hibernate.cfg.xm1中 a)参考文档 9写测试类Main,在Main中对 Student对象进行直接的存储测试 a)参考文挡 10 FAC a)要调用 new Configuration(. configure(. buildSessionFactory(,而不是 要省略con' Igure,否则会出 hibernate dialect must be set的异常 11 Note: a)请务必建立自己动手查文挡的能力 b)重要的是 i.要建立自己动于查一手文档的信心 ii.还有建立自己动于查一手文档的习惯! 主动学习,砍弃被动接受灌输的习惯! 12建立能力 a)错误读完整 b)读一昔误的关键行 c)排除法 d)比较法 google 建立 Annotation版本的 Helloworld 1 EzE teacher tt, create table teacher (id int primary key, name varhcar(20), title varchar (10)) 2创建 Teacher类 3在 hibernate lib中加入 annotat ion的jar包 hibernate annotaion jar b) ejb3 persistence jar hibernate common-annotations. J d)注意文裆中没有提到 hibernate- common- annotations.jar文件 4参考 Annotaion文栏建立对应的注解 5在 hibernate.cfg.xm1中建立映射< mapping class:/ 6参考文裆进行测试(注意文裆中缺少 configure(的小bug) 7FAQ:@不给提示 a)配置 eclipse属性信息 content assist- acti vation-加上@ What is and Why 0/R Mapping JDBC操作数据库很繁琐 2Sq1语句编写并不是面向对象的 3可以在对象和关系表之间建立关联来简化编程 40/ R Mapping简化编程 50/ R Mapping跨越数据库平台 6 Hibernate 0200 OR Mapping Simulation 0/R Mapping Frameworks 1 hibernate 2 toplink 4 JPA )意愿统天下 Hibernate基础配置 1对应项目: Hibernate0300 BasicConfiguration 2介绍MSQL的图形化客户端 3 hibernate. cfg xml: hbni2ddlauto a)先建表还是先建实体类 4搭建日志环境并配置显小DDL语句 a)sf4与log4的关系:sf4像是一个大管家,可以管理许多的日志框架,log是其中之 b)加入sf4j-log4jar,加入log4的jar包,去掉s4 nop. jar c)从 hibernate/project/etc日录 copy log4 ]. properties d)査询 hibernate文裆,日志部分,调整日志的输出策略 5搭建jnit环境 a)需要注意 jUnit的Bug 6 hibernate. cfg xml: show sql 7 hibernate. cfg xml: format sql <-格式化显示输出sql-> <property name="format sql">true</property> 8表名和类名不同对表名进行配置 a)Annotation: @Table b)xml:自己查询 9字段名和属性相同 a)不用写@ column与默认的@ Basic效果一样 b)Xm1中个用写 column 10宇段名和属性名不同 a) Annotation:@ Column b)xml:自己查询 11不需要 persistence的字段(不用列) a) Annotation:(ai Transient b)xml不写 12映射日期与时问类型,指定时间精度 a) annotation: (a Temporal(参数)参数有3种只显示时间,只显示日期时间日期都显示 @ Temporale( TemporalType DATE)只显示日期 @ Temporal( TemporalType. TIME)只显示时间 ∥ Temporal( TemporalType TIMESTAMP)显示日期与时间 )xml:指定type class name="Teacher" table="Teacher' <id name="id "column=id ></id>> <property name="name type="time"/ </class> 13映射枚举类型(比较少用) a)(@Enumerated a Enumerated( numType ORDINAL枚举类型按位置数,如:0,1,2…存储 a Enumerated( EnumTypc STRING)枚举类型按设定值存储 b)xml:麻烦 l4字段映射的位置(feld或者get方法) a) best practice:保持feld(变量定义)和 get set方法的一致 5 aLOI 16课夕: CLOBBLOB类型的数据存取 17课外: Hibernate自定义数据类型 18 hibernate类型 ID生成策略 1对应项目: hibernate0400_ID 2注意 a)我们观察 hibernate生成表的结构并不是为了将来就用它生成,(可能还有自己的扩展,比如 index等)而是为了明白我们应该建立什么样的表和实体类映射 3xm1生成id a) generator Kid name=id> <generator class="native">/generator) </id> b)常用四个: native identity sequence uuid 4注解方式:@ Generatedvalue a)自定义ID b)AUIO(直接写 (@Generatedvalue相当如 native) i.默认:对 My SQL,使用 auto increment ii.对 Oracle使用 hibernate sequence(名称固定) c) IDENTITY(@GeneratedValue(strategy=GenerationType IDENTITY)) d) SEQUENCE (@GeneratedValue(strategy=Generation Type. SEQLENCE)) i. @SequenceGenerator(可自定义在数据库生成指定的 sequence名) (a /在 a generatedvalue中增加 generator=" teacherSEQ" @GeneratedValue(strategy-Generation Type SEQUENCE, generator"teacher SEQ") " teacher SEC"为 aSequence Generator的标识名 / tcachcrSEQ DB"为指定到数据库生成的 Scqucnco名 @Sequence Generator(name="teacherSEQ", sequenceNameteacherSEQ DB") public int getlo i return id e) TABLE(可以忘记) i.(a TableGenerator aTable Generator(name=teacherID table"teacher DB pkColumnName=key value pkColumn Value="pk value valuc column Namc="tcachcr allocationSize=D) 注:如果使用注解方式的uuid如下 (ald gEnerated value(generator="teacherUUID") a Generic Generator(name"teacherUUID", strategy=uuid") 5 FAQ a)用 Junit测试时 Hibernate Session Factory初始化异常个提小.疑似一个bu b)用main来做测试 6联合主键 a)Xm1方式: composi tc-id 将联合主键的属性提取出来,重新编写一个pojo类(原pojo类中的id,namc要删除并新加 入属性“ Student”) public class StudentPK implements Serializable i private String id private String name, ii.新建pojo类必须实现java.io. Serializable序列化接口 i.新pojo类要重写 equals和 hashCode方法 public boolean equals(Object o)i if(o instanceof StudentPk)i StudentPk pk=(StudentPk)o if(this id ==pk. getldo &&i this name. equals(pk. getNameo))i return true return false

99KB
Spring总结笔记
2012-12-17Spring总结笔记,很多关于Spring方面的知识都总结出来了,希望对大家有帮助
spring框架笔记下载_course
2020-03-26这个是我学习期间的一点点笔记,希望能够帮助到大家! 相关下载链接://download.csdn.net/download/kc419694858/1817364?utm_source=bbsseo
40KB
Spring笔记.docx
2019-05-13Spring学习笔记,Spring就是一个工厂,可以将所有对象创建和依赖关系维护,交给spring管理
561KB
spring课堂笔记
2008-11-03两则spring课堂随笔,希望初学者有帮助
151KB
Spring学习笔记(精华全记录)
2008-07-18分享了,总结了下Spring的一些精华。还有最好对照我做的ppt(JAVA Spring介绍 ppt)看可能效果会比较好。PPT在我的资源里也可以找到。联系我:shansun123@126.com
1.62MB
spring的学习笔记
2012-10-12spring很好的学习笔记,我想对于想学好或者面试好ioc和aop的同学有帮助的
356KB
spring学习笔记(最新版)
2018-03-19通过一段时间学习spring技术后的一些心得,作为以后开发文档
3.98MB
传智博客Spring框架2016版笔记资料.zip
2018-01-02传智博客Spring框架2016版笔记资料 传智博客Spring框架2016版笔记资料 传智博客Spring框架2016版笔记资料 传智博客Spring框架2016版笔记资料 传智博客Spring框架
701KB
Spring框架笔记
2018-08-09Spring框架 IoC学习笔记,对Spring框架学习中各种问题的记录。
580KB
传智播客Spring学习笔记(全)
2012-04-12传智播客Spring全套视频学习笔记,整理的非常完整。
黑马程序员SpringMVC课堂笔记下载_course
2019-01-01黑马程序员SpringMVC课堂笔记 黑马程序员SpringMVC课堂笔记 相关下载链接://download.csdn.net/download/zhengjiawei1/10888588?utm_
-
学院
前端架构师和3D-VR
前端架构师和3D-VR
-
博客
Linux 个人笔记,根据狂神说 视频总结
Linux 个人笔记,根据狂神说 视频总结
-
博客
基于混合模型的鲁棒语义SLAM概率数据关联
基于混合模型的鲁棒语义SLAM概率数据关联
-
学院
(新)备战2021软考软件设计师顺利通关套餐
(新)备战2021软考软件设计师顺利通关套餐
-
博客
Jetpack之Room的使用,结合Flow
Jetpack之Room的使用,结合Flow
-
博客
不用微信QQ,用Pillow裁剪图片
不用微信QQ,用Pillow裁剪图片
-
下载
年会签到抽奖小程序(附带后台php接口)
年会签到抽奖小程序(附带后台php接口)
-
学院
【数据分析-随到随学】Spark理论及实战
【数据分析-随到随学】Spark理论及实战
-
博客
一文带你学会AQS和并发工具类的关系
一文带你学会AQS和并发工具类的关系
-
学院
FFmpeg4.3黄金系列课程:c++版
FFmpeg4.3黄金系列课程:c++版
-
学院
21年新MybatisPlus+Swagger3.x+SpringBo
21年新MybatisPlus+Swagger3.x+SpringBo
-
学院
RabbitMQ消息中间件实战(附讲义和源码)
RabbitMQ消息中间件实战(附讲义和源码)
-
博客
MongoDB+SpringBoot 自定义类型转换器
MongoDB+SpringBoot 自定义类型转换器
-
博客
VTK Actor的属性
VTK Actor的属性
-
下载
河北科技大学操作系统实验.pdf
河北科技大学操作系统实验.pdf
-
下载
明星图小程序(含NODEJS后端)
明星图小程序(含NODEJS后端)
-
博客
js数组练习
js数组练习
-
学院
Cocos Creator游戏开发-连连看 (接入腾讯优量汇广告)
Cocos Creator游戏开发-连连看 (接入腾讯优量汇广告)
-
学院
three.js入门速成
three.js入门速成
-
学院
单片机完全学习课程全五季套餐
单片机完全学习课程全五季套餐
-
下载
校园二手交易部分源码
校园二手交易部分源码
-
学院
Go语言官方文档学习笔记(第五季)
Go语言官方文档学习笔记(第五季)
-
下载
C语言_线性表之有头链表
C语言_线性表之有头链表
-
学院
微服务系列第七十一季-Introducing Spring Boot
微服务系列第七十一季-Introducing Spring Boot
-
下载
C#版系统自检,支持网络、摄像头、麦克风、扬声器、蓝牙检测
C#版系统自检,支持网络、摄像头、麦克风、扬声器、蓝牙检测
-
博客
delphi 找内存溢出代码
delphi 找内存溢出代码
-
下载
已做好的通信工程管理软件及文件存档软件
已做好的通信工程管理软件及文件存档软件
-
下载
AfterFX AE
AfterFX AE
-
学院
转行做IT-第1章 计算机基础
转行做IT-第1章 计算机基础
-
学院
uni-app实战专题
uni-app实战专题