JPA学习笔记

新代码,所有使用场景,什么时候用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不耗时,且非线程安全,每个线程各自创建自己的

一级缓存命中,只查询一次:

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

脏数据更新

二级缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值