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。

浙公网安备 33010602011771号