Jpa 联表查询

2021-04-05  本文已影响0人  JalorOo

原文链接: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());
    }
}
上一篇 下一篇

猜你喜欢

热点阅读