repository设置对数据库的操作(自定义JPA repository)

@Repository
public interface InfoRepository extends JpaRepository<Info,Integer> {
    @Override
    Info save(Info info);
    void deleteByPassword(String password);
    Info findByName(String name); //用于判断昵称是否重复
    Info findByPassword(String password);
    Info findByNameAndPassword(String name,String password);
    //由于数据库里可能存在password和name相同 但一个在回收站一个不在,因此要用上status
    Info findByNameAndPasswordAndStatus(String name,String password,Integer status);
    // 主要用于add方法
    Info findByNameAndStatus(String name,Integer status);
}

首先,InfoRepository是一个接口,继承自 JpaRepository<Info,Integer>,其中Info是表对应的Java实体类,Integer是实体类中主键的数据类型。

之后可以重写JpaRepository的方法,比如save保存数据到表中等等,但是重点是自定义JpaRepository的方法:比如findByName等等,SpringBoot会根据关键词解析该方法,然后对该方法进行自动实现,也就是说,继承了JpaRepository的接口,它的实现类无需重写,就可以直接使用里面的方法

https://blog.csdn.net/fly910905/article/details/78557110/   主要就是那个关键词表。

注意要用@Repository表明这是一个DAO类,springboot将其作为一个 @bean 使用。否则service将无法自动注入 InfoRepositroy。

posted @ 2021-11-25 19:38  Acc22222222  阅读(521)  评论(0)    收藏  举报