SpringDataJPA_01

ORM思想

我们在用JDBC操作数据库时,操作非常繁琐:
1.注册驱动
2.获取连接
3.拼接SQL,提供占位符
4.创建执行SQL对象
5.执行SQL
我们利用ORM的思想封装成工具类,可以通过Obj.save(),Obj.get()等方法来对数据库进行操作.这样实体类和数据库建立映射关系,通过实体类找到表,通过实体类中的属性找到表中的字段.

核心: 操作实体类就相当于操作数据库表;
思想: 建立实体类和数据库表映射,建立实体类中属性和表中字段的映射关系.

Hibernate

Hibernate 是对象关系映射框架,它对JDBC进行轻量级封装,将POJO和数据库表建立映射关系,是一个全自动的ORM框架

JPA规范

JPA规范仅仅是一种规范而已,内部是接口和抽象类,并不能实现对数据库的操作,需要去实现这写接口和实现类才能操作数据库,例如:Hibernate就是实现里面的接口.

JPA配置文件

在这里插入图片描述
在这里插入图片描述

Jpa实体类中常用注解

@Entity:声明实体类
@Table(name=“数据库表名”):建立实体类和表的映射关系
@Id:声明主键
@GereratedValue():配置主键生成策略

stragegy:
GenerationType.IDENTITY:自增–Mysql数据库支持
GenerationType.SEQUENCE:序列–Oracle数据库支持
GenerationType.TABLE:jpa提供的一种机制,通过一张数据库表维护主键
GenerationType.AUTO:程序自动的帮助我们选择主键生成策略

@Column(name=“表中字段名”):配置属性和字段的映射关系

JPA操作数据库的步骤

在这里插入图片描述
其中:

Persisitance静态方法:根据持久化单元名称创建实体管理器工厂

作用:创建实体管理器工厂

createEntityManger()方法:

作用:内部维护了数据库信息,缓存信息,所有实体类管理对象

createEntityManger创建过程浪费资源但是线程安全,解决方法就是在程序运行时用静态代码块创建.

EntityManger对象:实体类管理对象,对数据库进行CRUD操作.

beginTransaction()创建事务对象
presist()保存
marge()更新
remove()删除
find/getRefrence()通过ID查找
注:getRefence()是懒加载的方式,得到的是一个代理对象,什么时候用什么时候才会查询

Transaction对象:
begin:开启事务
commit:提交事务

JPQL的使用

统计查询:
在这里插入图片描述
分页查询:
在这里插入图片描述
条件查询:
在这里插入图片描述
注意:

query.setParameter(坐标,内容)占位符参数赋值
query.setFirstresult()
query.setMaxresult()分页查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值