• 首先是建一个实体类,打上注解,运行后自动在指定数据库中创建数据表。
  • 配置文件换用.yml,这种格式层次分明,不易冗余;连接上数据库。
  • 写一个dao接口继承一下JpaRepository,自定义方法可以自己添加。即可操作数据库。

    自定义@Query查询

  • 在dao中写自定义查询方法

    /*
    自定义方法实现模糊查询
    */
    @Query("select b from Book b where b.name like %?1%") //使用hql(操作对象),Book表示类型,?1传入第一个参数,前后都有%表示前后都可以是其他文字
    public List<Book> findByName(String name);
    
    /*
    原生sql
    */
    @Query(value = "select * from book b where b.name=?1", nativeQuery = true)
    List<Book> findByName(String name);
    
    /*
    自定义任意查询几条数据出来
    */
    @Query(value="select * from t_book order by RAND() limit ?1",nativeQuery = true) //默认是false,这里使用本地sql应开启
    public List<Book> randomList(Integer n);
    
    @Query(value = "select name,author,price from Book b where b.price>?1 and b.price<?2")
    List<Book> findByPriceRange(long price1, long price2);
    
    @Query(value = "select name,author,price from Book b where b.name like %:name%")
    List<Book> findByNameMatch(@Param("name") String name);
    
    @Query(value = "select * from book b where b.name=?1", native