作者回复: JDBC是各种操作的基础,JPA是个规范,Hibernate是JPA的一种实现,Spring Data JPA用的是Hibernate,MyBatis是另一种ORM的框架,Hibernate不用自己手写SQL,但其实复杂的HQL写到最后跟写SQL也没啥大差别了。
作者回复: 不是弃用,只是更多的会选择MyBatis,因为这样DBA对SQL能有更大的把控力度,然后大部分工程都用MyBatis,那渐渐规范就变成了用MyBatis。但这并不是说Hibernate不好,其实它作为老牌ORMapping框架,还是很不错的。
作者回复: 不是对代码侵入性大,是它本来就是代码的一部分,复杂的语句本来就得靠你手写,比如HQL语句。优化SQL本来就是自动生成的语句性能不好,要做手工调整,也得靠手写。所以在一些大厂,默认就会使用MyBatis,对SQL的把控力度更强一点。
作者回复: 额,那是。MyBatis也不认JPA注解呀,不是一家人。
作者回复: 构造方法的注解其实就是参数的不同,@Builder的用法课程中的例子有,就是调用builder()然后一路赋值,最后用build()构造对象。
作者回复: 我一般用@Data @Builder @Slf4j,还有构造方法的那几个。
作者回复: 默认底层用的JPA实现是Hibernate,不过我真的没有想过换别的JPA实现,刚才官方文档也看了下,又网上搜了下,有篇文章你可以看看https://www.baeldung.com/spring-eclipselink
作者回复: 批量操作就别用Repository了。直接用Hibernate的批量操作,或者JDBC的也行,都有针对大批数据的操作的。
作者回复: 在IDE里么?要有Lombok插件,其他项目也需要依赖Lombok的JAR
作者回复: 我没用过MyBatisPlus诶,抱歉,我用page-helper和mybatis-generator比较多一些,后面会讲到这两个的。 Jenkins是持续集成用的,和我们这个课程没什么关系,不会涉及。 Feign在讲Spring Cloud时会讲到。 Github上的代码都是课程演示中讲过的代码,我大部分都是视频中就解释过的了,如果看视频时没有看明白的话,估计按我自己的思路写的注释对你的帮助也不大诶。