Spring Data Jpa - 获得实体类部分字段(单表或多表)

一、单表查询的一个字段、一条数据

@Query(value = "select username from user",nativeQuery = true)
// 注意返回值用String类型接收,也可以使用Object
String findOneUserName();

 

二、单表查询的一个字段、多条数据

@Query(value = "select distinct username from user",nativeQuery = true)
// 注意返回值用String类型接收,也可以使用Object
List<String> findAllUserName();

 

三、多表查询的多个字段、一条数据

@Query(nativeQuery=true, value ="select a.name1,a.name2,b.name3,b.name4 "
			+ "from tableA as a inner join "
			+ "tableB as b on a.b_id=b.id where "
			+ "if(?1 !='',a.name1=?1,1=1) and if(?2 !='',b.name3=?2,1=1) "
			+ "order by name1 desc")
Map<String,Object> findOneTableAAndTableB(String A, String B);

 

四、多表查询的多个字段、多条数据

@Query(nativeQuery=true, value ="select a.name1,a.name2,b.name3,b.name4 "
			+ "from tableA as a inner join "
			+ "tableB as b on a.b_id=b.id where "
			+ "if(?1 !='',a.name1=?1,1=1) and if(?2 !='',b.name3=?2,1=1) "
			+ "order by name1 desc limit ?3,?4")
List<Map<String,Object>> findAllTableAAndTableB(String A, String B, int page, int num);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值