一、Modifying 注解
在@Qurey中使用DELETE UPDATE 语句
1、可用通过自定义JPQL来完成Update 和 Delete 操作,注意JPQL不支持Insert
2、在使用@Query注解的时候,必须使用@Modifying注解从而来通知SpringData,这是一个Update 或者 Delete操作
3、Update 和Delete操作需要事务,就必须在Serivce层定义事务的操作
4、默认的情况下SpringData 每个方法都有事务,但是针对于只读的模式,不能完成修改操作
如下:
定义事务
配置扫描Serivce层的实现类
测试
二、CrudRepository 接口
继承了Repository接口并提供了一组的增删改查的的方法
方法如下:
T save(T entity);//保存单个实体
Iterable save(Iterable entities);//保存集合
T findOne(ID id);//根据id查找实体
boolean exists(ID id);//根据id判断实体是否存在
Iterable findAll();//查询所有实体,不用或慎用!
long count();//查询实体数量
void delete(ID id);//根据Id删除实体
void delete(T entity);//删除一个实体
void delete(Iterable entities);//删除一个实体的集合
void deleteAll();//删除所有实体,不用或慎用!
实挒如下:
Serivce层
测试