SpringData JPA 增删改查
SpringData JPA的简介
SpringData是Spring提供的一个操作数据的框架,SpringData JPA是SpringData框架下的一个基于JPA标准操作数据的模块,JPA是为了整合第三方ORM框架,建立一种标准的方式,Hibernate可以与JPA整合的很好,JPA几乎都是接口,Hibernate在做相应的实现。
JpaRepository 继承了CrudRepository类,其中已经实现了简单的增删改查(save,delete,find*)的功能,这里不再赘述,自己定义增删改查的实现方式如下:
增删改查实现
1.原生sql
必须使用 @Transactional与 @Modifying 内联代码片
增
jpa不支持insert,可以通过调用原有save方法实现
删
jpa可以调用原有delete方法实现
改
@Transactional
@Modifying
@Query(value = "update ll_user set password= ?1 where mobile = ?2 ",nativeQuery = true)
int update(String password, String mobile);//这里ll_user是数据库表名
查
@Query(value = "update from ll_user where mobile = ?1 ",nativeQuery = true)
int update(String mobile);//这里ll_user是数据库表名
1.非原生sql
必须使用 @Transactional与 @Modifying 内联代码片
改
jpa的修改有一个不好的地方就是每次进行修改时,即使原有的不需要修改的属性也应该添加,否则会被自动置为空。
@Transactional
@Modifying
@Query(value = "update LLUser set password= ?1 where mobile = ?2 ")
int update(String password, String mobile);//这里LLUser是指实体类映射名
查
@Query(value = "select from LLUser where password = ?1 ")
int update(String password);//这里LLUser是指实体类映射名