概念
jpa就是一套ORM规范,默认Hibernate实现JPA
Hibernate的底层是JDBC
与JDBC的区别及相同点:
相同点:
1.都和数据库有关
2.JDBC和jpa都是一种规范接口
3.都是有sun公司推出的
不同点:
JDBC出现,由各种数据库实现其接口已达到和数据库交互的目的,而JPA是由各种ORM框架实现的
JPA是JDBC的升华版
mybatis和Hibernate对比
mybatis:小巧、方便?、高效、简单、直接、半自动
半自动的ORM框架,
小巧: mybatis就是jdbc封装
在国内更流行。
场景: 在业务比较复杂系统进行使用,
hibernate:强大、方便、高效、(简单)复杂、绕弯子、全自动
全自动的ORM框架,面向对象的特点,更注重代码
强大:根据ORM映射生成不同SQL
在国外更流。
场景: 在业务相对简单的系统进行使用,随着微服务的流行。
JPA入门:
1.引入相关依赖
2.配置数据源以及映射路径可通过xml方式配置和注解方式配置两种
3.方法名遵循起名规范
常用注解:
@Transactional // 通常会放在业务逻辑层上面去声明
@Modifying // 通知springdatajpa 是增删改的操作
@Entity//标明这是一个实体
@Table(name="表名") 将类与表相对应
@Id 主键
@GeneratedValue 设置主键生成策略
@GeneratedValue(strategy = GenerationType.IDENTITY)为自增
@GeneratedValue(strategy = GenerationType.AUTO)根据代码自动设置
@Column(name="字段") 属性与字段映射