Jpa操作数据库之@Query使用SQL语句

使用Jpa操作数据库除了简单的 save( ) ,findOne( ) , findBy*( ),delete( ) 等等还可以使用原生的SQL语句,下面就说一些简单的使用SQL语句操作。首先写一个接口继承 JpaRepository 接口,例如:

public interface FileRepository extends JpaRepository<FileEntity,Long> {
//后面的泛型,前面为实体类,后面为实体类的ID类型。
}
如果有些操作自带的 save( ) ,findOne( ) , findBy*( ),delete( ) 满足不了,那么我们就可以使用@Query注解了,话不多说直接上代码,我这里是根据用户ID,查询文件状态,1为未完成,2为已完成,传参数可以用?代替,然后后面跟上数字,跟下面传过来的参数对应上即可,比如uid=?1 ,这里就代表 uid=下面括号内的uid.
public interface FileRepository extends JpaRepository<FileEntity,Long> {
    //查询未完成
    @Query(value = "select * from f_file where status = 1 AND uid=?1", nativeQuery = true)
    List<FileEntity> selectprosess(Long uid);

    //查询已完成
    @Query(value = "select * from f_file where status = 2 AND uid=?1", nativeQuery = true)
    List<FileEntity> selectcomplete(Long uid);

}
value后面跟的就是我们地地道道的SQL语句,至于后面的nativeQuery = true 可写可不写,好像是写了传参字段必须跟数据库一致,反正我是带上了。有什么疑问欢迎私信我。


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值