1. 程式人生 > >SpringBoot之自定義查詢Query

SpringBoot之自定義查詢Query

pan inter 自定義 gif pat urn package random 分享

下面講解下SpringBoot之自定義查詢Query的實例

SpringBoot之自定義查詢Query有HQL語句查詢(Hibernate),還可以采用sql語句本地查詢

BookDao類查詢接口

技術分享圖片
 1 package com.hik.dao;
 2 
 3 import java.util.List;
 4 
 5 import org.springframework.data.jpa.repository.JpaRepository;
 6 import org.springframework.data.jpa.repository.Query;
 7 
 8 import com.hik.entity.Book;
9 10 /** 11 * 圖書Dao接口 12 * @author jed 13 * 14 */ 15 public interface BookDao extends JpaRepository<Book, Integer>{ 16 17 //Hql語句查詢 18 @Query("select b from Book b where b.bookName like %?1%") 19 public List<Book> findByBookName(String bookName); 20 21 //本地sql語句查詢
22 @Query(value="select * from t_book order by RAND() limit ?1",nativeQuery=true) 23 public List<Book> randomList(Integer n); 24 }
View Code

BookController類

技術分享圖片
 1 package com.hik.Controller;
 2 
 3 import java.util.List;
 4 
 5 import javax.annotation.Resource;
 6 
 7 import org.springframework.stereotype.Controller;
8 import org.springframework.web.bind.annotation.GetMapping; 9 import org.springframework.web.bind.annotation.PathVariable; 10 import org.springframework.web.bind.annotation.PostMapping; 11 import org.springframework.web.bind.annotation.RequestMapping; 12 import org.springframework.web.bind.annotation.RequestMethod; 13 import org.springframework.web.bind.annotation.ResponseBody; 14 import org.springframework.web.servlet.ModelAndView; 15 16 import com.hik.dao.BookDao; 17 import com.hik.entity.Book; 18 19 /** 20 * Book控制類 21 * @author jed 22 * 23 */ 24 @Controller 25 @RequestMapping("/book") 26 public class BookController { 27 28 @Resource 29 private BookDao bookDao; 30 31 /** 32 * 查詢所有圖書 33 * @return 34 */ 35 @RequestMapping(value="/list") 36 public ModelAndView list() { 37 ModelAndView mav = new ModelAndView (); 38 mav.addObject("bookList", bookDao.findAll()); 39 mav.setViewName("bookList"); 40 return mav; 41 } 42 43 /** 44 * 添加圖書 45 * @param book 46 * @return 47 */ 48 @RequestMapping(value="/add", method=RequestMethod.POST) 49 public String add(Book book) { 50 bookDao.save(book); 51 return "forward:/book/list"; 52 } 53 54 @GetMapping(value="/preUpdate/{id}") 55 public ModelAndView preUpdate(@PathVariable("id") Integer id) { 56 ModelAndView mav = new ModelAndView(); 57 mav.addObject("book", bookDao.getOne(id)); 58 mav.setViewName("bookUpdate"); 59 return mav; 60 } 61 62 /** 63 * 修改圖書 64 * @param book 65 * @return 66 */ 67 @PostMapping(value="/update") 68 public String update(Book book) { 69 bookDao.save(book); 70 return "forward:/book/list"; 71 } 72 73 /** 74 * 刪除圖書 75 * @param id 76 * @return 77 */ 78 @RequestMapping(value="/delete",method = RequestMethod.GET) 79 public String delete(Integer id) { 80 bookDao.delete(id); 81 return "forward:/book/list"; 82 } 83 84 @ResponseBody 85 @GetMapping(value="/queryByName") 86 public List<Book> queryByName() { 87 return bookDao.findByBookName("思想"); 88 } 89 90 @ResponseBody 91 @GetMapping(value="/randomList") 92 public List<Book> randomList(){ 93 return bookDao.randomList(2); 94 } 95 }
View Code

hql查詢結果:

技術分享圖片

本地sql查詢結果:

技術分享圖片

SpringBoot之自定義查詢Query