SpringBoot学习之JPA自定义查询

在BookDao接口类中自定义方法

package org.hx.springboot_jpa_demo30.dao;

import org.hx.springboot_jpa_demo30.model.Book;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

public interface BookDao extends JpaRepository<Book,Integer> {
    List<Book> getBookByAuthorEquals(String author);

    @Query(nativeQuery = true,value = "select * from t_book where id=(select max(id) from t_book)")
    Book maxIdBook();

    @Query("update t_book set b_name=:name where id=:id")
    @Modifying
    void updateBookById(String name ,Integer id);
}

新建BookService类

package org.hx.springboot_jpa_demo30.service;

import org.hx.springboot_jpa_demo30.dao.BookDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.transaction.Transactional;

@Service
public class BookService {
    @Autowired
    BookDao bookDao;
    @Transactional
    public void updateBookById(String name ,Integer id){
        bookDao.updateBookById(name, id);
    }
}

在测试类中进行测试

@Test
    void test4(){
        System.out.println("最大id为:"+bookDao.maxIdBook());
    }
    @Autowired
    BookService bookService;
    @Test
    void test5(){
        bookService.updateBookById("星辰",6);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值