更多
2021年11月01日 10点39分 作者:叶飞 修改

程序员身心健康&日常护理:头发 / 颈椎腰椎和手腕

视频播放量上不去有同学就出主意:技术太枯燥,讲得轻松的,大家都关心的问题。比如:护发黄金台,千金买马骨,唐太宗李世民—— 他们的心胸像海洋一样宽广啊!我知道你是一番好意,这个话题大家也很关心但你觉得我来说这个,有说服力么?不讲经验,讲点教训—— 我特么想给你点教训飞哥这一生,只有经验!彪悍的人生没有教训。1、早婚 —— 至少早点把婚纱照拍了2、早生娃:让你老婆没有后悔药可以吃另外要做好老婆的思想工作,好处:省钱。你看你,这个月把头发烫卷,下个月又把一天到晚那都是什么?烦恼丝啊!理发:每次路过看我的眼神都很 ……

程序员 身心健康
2021年10月28日 15点19分 作者:叶飞 修改

Hibernate:一级&二级&查询cache / 连接池

#信不信?当个的SQL操作,你用JDBC可能会比Hibernate性能更高跑得更快;但项目越来越复杂,人家用Hibernate可能比你用JDBC跑得更快。一级缓存其实就是我们前面讲的Unit Of Work的必然结果。除非StatelessSession,否则就自然存在。已经加载到entityManager或session(以下简称context)里面的entity,再次获取的时候不需要查询数据库。先获取一个id=x的Student(所有关联对象都被设置成eager load)em.find(Studen ……

Hibernate 缓存 连接池
2021年10月25日 21点42分 作者:叶飞 修改

mysql:存储过程

需要首先替换掉分号delimiter $$ delimiter ; ……

存储过程
2021年10月22日 20点43分 作者:叶飞 修改

Hibernate:Criteria:复杂查询:fetch / join / update&delete / subquery / native SQL / 存储过程

加载:fetch在Criteria中仍然存在自动/指定加载关联对象的场景。log演示:criteria时Bed和Teacher的默认/自定义的eager和lazy 加载 但我们也可以在root中指定JoinType:root.fetch(Teacher_.students);//除非特殊情况,一般不用自己指定JoinType,让Hibernate决定即可root.fetch(Teacher_.students, JoinType.LEFT);JOIN因为可以建立双向的关联关系,配合fetch,可以由Hi ……

criteria join subquery
2021年10月18日 19点25分 作者:叶飞 修改

Hibernate:Criteria:简单查询:起手式 / where / metamodel / orderBy / multilSelect / group

说明:Hibernate提供了多种查询方式(HQL, JPQL),但我们通常Criteria为主,搭配原生SQL就OK了本章节的Criteria遵循JPA规范的javax.persistence.criteria.CriteriaQuery,而不是legacy(老的)org.hibernate.Criteria最简单示例查出所有Teacher:CriteriaBuilder:通过EntityManager对象获得(仍然是builder模式)有一个createQuery()实例方法,该方法接受一个类型做参数 ……

Hibernate Criteria 查询
2021年10月13日 22点30分 作者:叶飞 修改

Hibernate:关联entity:加载 / 改动 / 删除 / cascade / orphanRemoval

为了便于表达,我们先对entity里面要持久化的字段/属性做一个定义:简称定义示例(当前entity:Studnet)关联属性对另一个@Entity的引用Student taughtBy关联集合集合对其他entites集合的引用Set<Student> teachers基本属性属性Java基本类型+String+时间类型等int age、String nameValueType对另一个@embedable的引用Contact contact加载默认的,当我们加载一个entity的时候,它的基本 ……

关联对象 加载 删除 修改
2021年10月07日 23点29分 作者:叶飞 修改

Hibernate:单表增删改查:EntityManager和Session / log4j / 事务 / StatelessSession / batch_size

准备一个简单的StudentStudent atai = new Student();atai.setName("阿泰");atai.setEnroll(LocalDate.now());EntityManager 要完成entity的持久化,首先需要一个之前提到过的session:按JPA规范,命名为EntityManger按native传统,命名为SessionEntityManger可以通过EntityMangerFactory的createEntityManager()方法直接获得:EntityM ……

Hibernate 持久化 增删改 log4j
2021年10月07日 23点28分 作者:叶飞 修改

Hibernate:复杂映射:继承 / 关联 / ValueType / 自定义命名

Embeddable types以前在Hibernate里被称之为components,其他ORM中被称之为value type。典型的特征:没有Id需要嵌在其他entity中使用,由其父entity导出@Embeddable:定义类@Embedded:标记字段 ……

Hibernate 关联 继承
2021年09月27日 21点15分 作者:叶飞 修改

持久化:ORM:映射 / SQL生成 / 建库建表 / UoW / 继承&关联(ValueType)

DbHelperSQL生成器ORM谁先谁后?Db first:先有数据库,然后映射到(自动生成)类Code first:先有数据库,然后映射到(自动生成)类mixed越新的项目越倾向于Code first:OO,忘记数据库Java:如过江之鲫,但目前仍然主流的:Hibernate/myBatis/(JPA:规范标准)/spring-data-jpa(hibernate) /jdbcTemplate Entity Framework:MySQL的JDBC驱动由Oracle提供。访问某个具体的数据库,我们还需 ……

DbHelper SQL生成器 ORM
2021年09月21日 09点59分 作者:叶飞 修改

持久化:ADO&JDBC:driver / 连接 / SQL注入 / 事务 / 批处理 / 结果集 / 连接池

接口和驱动访问数据库的标准接口(标准)Java:Java DataBase Connectivity(JDBC)C#:(ADO.NET)接口是语言标准库自带的而具体驱动(实现了这些接口的类,jar包)是由数据库厂商(官方)/第三方提供的MySQL的JDBC驱动由Oracle提供。访问某个具体的数据库,我们还需要引入该厂商提供的JDBC驱动,就可以通过JDBC接口来访问,这样保证了Java程序编写的是一套数据库访问代码,却可以访问各种不同的数据库,因为他们都提供了标准的JDBC驱动:连接connection ……

JDBC ADO.NET ORM
关键字



帮助

反馈