![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
三大框架
蔡蔡动起来
感谢我身边所有帮助过我的人。我的学弟我的学长我的同班同学。学渣走向学霸之路不易,希望我可以从一个菜鸟到码农再到一名真正的前端工程师。
展开
-
Hibernate Annotations文档
https://docs.jboss.org/hibernate/annotations/3.4/reference/zh_cn/html_single/#preface-translate-comments-zh-cn原创 2018-07-05 10:02:35 · 143 阅读 · 0 评论 -
ID生成策略一 generator @GeneratedValue
1,xml生成id:用generator generator。常用四个:native identity sequence uuid2,@ GeneratedValue如果我想我将来的程序能够跨平台,跨数据库平台,我们会选本地或UUID。的uuid要求主键是字符串格式。本地:相当于AUTO_INCREMENT。@GeneratedValue相当于本地。S...原创 2018-07-05 09:54:09 · 5193 阅读 · 0 评论 -
核心开发接口五,update方法
1.更新Detached对象,又把它变成Persistent,同时数据库里更新。2.更新Transient对象会报错。因为update语句需要Update **** where id=?,Transient没有id。如果手动设置id不报错,前提是数据库里要有对应的id。3.部分更新。哪个字段改过就更新哪个字段,没改就不更新。Persistent状态的对象只要设定不同字段就会发生更新。更新就会出现数...原创 2018-07-09 17:25:45 · 1128 阅读 · 0 评论 -
核心开发接口四,hibernate get和load区别
delete从数据库中把对象删除掉。删掉id号变成Transient状态。对象必须要id号才能delete。只要有id就可以删。在Persistent和Detached状态下都可以删。load()从数据库中取一条记录,取到内存里,把这条记录转换成对应的对象,一个对象存到数据库里的时候,转换成一条记录,反过来也可以执行。sql语句做了一系列名字转换,hibernate自己内部处理,原因是很怕和关键字...原创 2018-07-09 11:47:15 · 1123 阅读 · 0 评论 -
核心开发接口三,对象三种状态
Transient对象刚刚new出来,设了一些其他值没有设id。当你调用了save或者saveOrUpdate,会转成Persistent,这个状态是有id的,比如这时我把session close了,这个对象就变成Detached(脱管,脱离管理的)。三种状态的区别:1,有没有id。2,id在数据库里和在内存里有没有。如果没有id,一定是Transient状态。Teacher t =new Te...原创 2018-07-09 10:07:14 · 391 阅读 · 0 评论 -
核心开发接口二,CoreAPI_JTA,getCurrentSession与openSession区别之一
hibernate.current_session_context_class,jta|threadgetCurrentSession主要从上下文找,上下文有两种属性,1.jta.2.threadthread主要是从数据库来建立事物。jta从分布式建立事物。jta运行的时候需要applicationServer的支持。TransactionManager分布在多台不同的数据库服务器上。...原创 2018-07-08 21:01:48 · 106 阅读 · 0 评论 -
核心开发接口介绍一CoreAPI Configuration,SessionFactory,GetCurrentSession
Configuration:1.进行配置信息的管理。2.用来生产SessionFactory(跟数据库的连接),里面最重要的东西就是数据库连接池,产生session。他们的区别:1.openSession永远是打开新session。getCurrentSession()看你原来有没有session,无论拿到多少回都是同一个session,但是如果你commit()了,再拿就是新...原创 2018-07-08 20:36:55 · 151 阅读 · 0 评论 -
ID_生成策略 联合主键xml方式和Annotation
XML:一张表两个字段联合起来作为主键,一般都是一个字段。假设id和name作为主键,把主键单独xiec用到联合主键就要用到hashCodeStudentPK.java:Student.java: Annotation:以Teacher为例 1,将组件类注解为@Embeddable,并将组件的属性注解为@Id. ...原创 2018-07-08 17:47:06 · 222 阅读 · 0 评论 -
Hibernate基本配置
Hibernate基础配置:1.hbm2dll.auto:取值 validate|update|create|create-drop. update 更新。使用create-drop时,在显示关闭sessionFactory时,将drop掉数据库schema.Validate,当你创建好表了,往里插数据,在操作任何数据之前,都会帮你检查数据库里的表是不是能和hbm文件和配置能对应上。实现自动建...原创 2018-07-01 16:58:38 · 135 阅读 · 0 评论 -
hibernate建立helloworld
加入相应的包:Annotation:Teacher.java:ZhiCheng.java是枚举类型的,右键-->new-->EnumTeacherTest.java是一个测试类:右键-->new-->Junit Test Case表就键出来了:Xml:Student.java:Student.hbm.xml:...原创 2018-07-01 16:36:16 · 133 阅读 · 0 评论 -
反射中Method类的invoke() 和getMethod()
就是调用类中的方法,最简单的用法是可以把方法参数化。invoke(class, method); Method Class.getMethod(String name, Class<?>... parameterTypes)的作用是获得对象所声明的公开方法该方法的第一个参数name是要获得方法的名字,第二个参数parameterTypes是按声明顺序标识该方法形参类型...原创 2018-06-24 13:25:18 · 18787 阅读 · 3 评论 -
Junit
什么是单元测试:写了个类,要给别人用,不知道会不会有bug,所以我们要测试一下。最土的方法是main方法,用main方法不好,加入我们定了很多函数,都在main方法里测试吗?1.不能一起运行。如果有多个类,每个类都写一个main方法吗?做一遍测试麻烦。2.大多数情况下需要人为去确定是否正确。为什么单元测试:降低后期成本。提高软件质量。创建junit:包右键Junit Test Ca...原创 2018-06-29 09:17:07 · 355 阅读 · 0 评论