原文链接:https://blog.csdn.net/qq_40693828/article/details/95357975
众所周知,Spring Boot Jpa 是 Spring 基于 ORM 框架、Jpa 规范的基础上封装的一套 Jpa 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data Jpa 可以极大提高开发效率。
public interface UserJPA extends JpaRepository<UserEntity, String>, JpaSpecificationExecutor<UserEntity>, Serializable {
//关联查询 @Query可以用于自定义sql语句,如果是修改需加上@Modifying ,这是一条关联查询语句,返回的结果映射到新对象中,新对象为接口,里面含有对应参数的构造方法。
@Query(value="select u.username,p.id,p.title from user u join page p on u.id = p.user where u.username = ?1",nativeQuery = true)
List<UserPageDao> find(String username);
}
其中,nativeQuery 语句中的 select 后面的参数 到from前面的参数,要与下面的类的属性值一一对应
public interface UserPageDao {
String getUsername();
Long getId();
String getTitle();
}
使用方法
@Test
void userPageTest(){
List<UserPageDao> viewInfos = userJPA.find("username");
for (UserPageDao viewInfo : viewInfos) {
System.out.println("pageId:"+viewInfo.getId()+" pageTitle:"+viewInfo.getTitle()+" userName"+viewInfo.getUsername());
}
}
网友评论