SpringBoot之自定義查詢Query
阿新 • • 發佈:2018-08-26
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;View Code9 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 }
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;View Code8 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 }
hql查詢結果:
本地sql查詢結果:
SpringBoot之自定義查詢Query