新代码,所有使用场景,什么时候用jpa什么时候用mybatis举例说明
记录创建人
分页
JPA底层原理 类结构
查询 持久化 事务管理器 数据源
二级缓存
druid
dsl 替换mybatis复杂查询
sql打印
超时时间
读写分离
枚举值、时间戳转换处理
sequence
官网学习:https://docs.spring.io/spring-data/jpa/docs/2.2.6.RELEASE/reference/html/#dependencies.train-names
依赖申明:
groupId:org.springframework.data
artifactId:spring-data-jpa
Spring Framework version: 5.2.5.RELEASE or better
JPA :Java persistence API,在Hibernate(目标:Java程序员不懂SQL也可以操作数据库)基础上发展而来
是java持久化【规范】



JDBC 的DAO是面向SQL语句的不是面向对象,100多张表全部都要写SQL

JPA把JDBC做了封装

不论JDBC还是JPA都不适合搞定大数据量处理

JPA有跟多坑,用不好就性能很慢

![]()
有20张表则有20个类,20种实例对象,每个对象对应表里的一行数据

JDBC需要考虑缓存数据更新/清理的问题


在国内,是Hibernate和MyBatis的天下

jboss收购了hibernate,所以有的jar以jboss开头命名



方言配置,从这个文件搜索
持久单元名称cn.itsource.jpa在指定实体管理工厂EntityManagerFactory时使用

oracle的第一页分页




自动生成表:




运行结果:

remove:











映射配置



核心API



张三/李四/王五各自属于一个线程

entityManagerFactory创建耗时,而EntityManager不耗时,且非线程安全,每个线程各自创建自己的
一级缓存命中,只查询一次:


一级缓存没有命中,再次查询:







脏数据更新





二级缓存





本文探讨了JPA与MyBatis在Java持久化中的应用,指出JPA作为ORM规范,简化了SQL操作,但不适合大数据处理,并可能影响性能。MyBatis则更灵活,适用于复杂SQL查询。内容涉及JPA的一级、二级缓存,事务管理,以及何时选择JPA或MyBatis的示例。
5万+

被折叠的 条评论
为什么被折叠?



