From 7d63bd5055e898fc456c84c2c13f6e9b9d35275a Mon Sep 17 00:00:00 2001 From: LoveLXW <2033371891@qq.com> Date: Mon, 30 Mar 2020 20:57:27 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=9B=B7=E8=82=96=E6=96=87=EF=BC=9A3?= =?UTF-8?q?=E6=9C=8830=E6=97=A5=20=09=E5=8A=9F=E8=83=BD=EF=BC=9A=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=89=80=E6=9C=89=E5=9B=BE=E4=B9=A6=EF=BC=8C=20=09=09?= =?UTF-8?q?=20=E6=9F=A5=E8=AF=A2=E6=89=80=E6=9C=89=E5=9B=BE=E4=B9=A6?= =?UTF-8?q?=E7=B1=BB=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../syq/controller/BookTypeController.java | 27 +++++++++ .../com/syq/controller/BooksController.java | 32 +++++++++++ src/main/java/com/syq/entity/BookType.java | 24 ++++++++ src/main/java/com/syq/entity/Books.java | 40 ++++++++++++++ .../java/com/syq/entity/ResourcesRooms.java | 24 ++++++++ .../syq/repository/BookTypeRepository.java | 10 ++++ .../com/syq/repository/BooksRepository.java | 10 ++++ .../java/com/syq/service/BookTypeService.java | 9 +++ .../java/com/syq/service/BooksService.java | 10 ++++ .../syq/service/impl/BookTypeServiceImpl.java | 24 ++++++++ .../syq/service/impl/BooksServiceImpl.java | 55 +++++++++++++++++++ 11 files changed, 265 insertions(+) create mode 100644 src/main/java/com/syq/controller/BookTypeController.java create mode 100644 src/main/java/com/syq/controller/BooksController.java create mode 100644 src/main/java/com/syq/entity/BookType.java create mode 100644 src/main/java/com/syq/entity/Books.java create mode 100644 src/main/java/com/syq/entity/ResourcesRooms.java create mode 100644 src/main/java/com/syq/repository/BookTypeRepository.java create mode 100644 src/main/java/com/syq/repository/BooksRepository.java create mode 100644 src/main/java/com/syq/service/BookTypeService.java create mode 100644 src/main/java/com/syq/service/BooksService.java create mode 100644 src/main/java/com/syq/service/impl/BookTypeServiceImpl.java create mode 100644 src/main/java/com/syq/service/impl/BooksServiceImpl.java diff --git a/src/main/java/com/syq/controller/BookTypeController.java b/src/main/java/com/syq/controller/BookTypeController.java new file mode 100644 index 0000000..b24f593 --- /dev/null +++ b/src/main/java/com/syq/controller/BookTypeController.java @@ -0,0 +1,27 @@ +package com.syq.controller; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.syq.entity.BookType; +import com.syq.service.BookTypeService; + +@RestController +@RequestMapping("/bookType") +public class BookTypeController { + @Autowired + private BookTypeService bookTypeService; + + /** + * 查询图书类别 + * @return + */ + @GetMapping + public List getAllBookType() { + return bookTypeService.getAllBookType(); + } +} diff --git a/src/main/java/com/syq/controller/BooksController.java b/src/main/java/com/syq/controller/BooksController.java new file mode 100644 index 0000000..4c74be7 --- /dev/null +++ b/src/main/java/com/syq/controller/BooksController.java @@ -0,0 +1,32 @@ +package com.syq.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.syq.entity.Books; +import com.syq.service.BooksService; + +@RestController +@RequestMapping("/books") +public class BooksController { + @Autowired + private BooksService booksService; + + /** + * 分页查询图书 + * @param book + * @param page + * @param limit + * @return 分页工具类(layui所需要的数据格式) + */ + @GetMapping + public Object listBooksByPage(Books book,Integer page,Integer limit) { + Pageable pageable = PageRequest.of(page-1, limit); + + return booksService.listBooksByPage(book, pageable); + } +} diff --git a/src/main/java/com/syq/entity/BookType.java b/src/main/java/com/syq/entity/BookType.java new file mode 100644 index 0000000..74fbbb1 --- /dev/null +++ b/src/main/java/com/syq/entity/BookType.java @@ -0,0 +1,24 @@ +package com.syq.entity; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Entity +@Table(name = "bookType") +public class BookType { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer btid; //图书类别编号 + private String btname; //类别名称 + private String remark; //备注 +} diff --git a/src/main/java/com/syq/entity/Books.java b/src/main/java/com/syq/entity/Books.java new file mode 100644 index 0000000..e116c22 --- /dev/null +++ b/src/main/java/com/syq/entity/Books.java @@ -0,0 +1,40 @@ +package com.syq.entity; + +import javax.persistence.CascadeType; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Entity +@Table(name = "books") +public class Books { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer bid; //图书编号 + private String bname; //图书名称 + private String author; //作者 + private String press; //出版社 + private String pressTime; //出版时间 + private String price; //价格 + private String remark; //备注 + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "btid") + private BookType bookType; + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "rid") + private ResourcesRooms resourcesRooms; +} diff --git a/src/main/java/com/syq/entity/ResourcesRooms.java b/src/main/java/com/syq/entity/ResourcesRooms.java new file mode 100644 index 0000000..c942a91 --- /dev/null +++ b/src/main/java/com/syq/entity/ResourcesRooms.java @@ -0,0 +1,24 @@ +package com.syq.entity; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Entity +@Table(name = "ResourcesRooms") +public class ResourcesRooms { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer rid; + private String rname; + private String remark; +} diff --git a/src/main/java/com/syq/repository/BookTypeRepository.java b/src/main/java/com/syq/repository/BookTypeRepository.java new file mode 100644 index 0000000..70639ef --- /dev/null +++ b/src/main/java/com/syq/repository/BookTypeRepository.java @@ -0,0 +1,10 @@ +package com.syq.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; + +import com.syq.entity.BookType; + +public interface BookTypeRepository extends JpaRepository, JpaSpecificationExecutor { + +} diff --git a/src/main/java/com/syq/repository/BooksRepository.java b/src/main/java/com/syq/repository/BooksRepository.java new file mode 100644 index 0000000..efa9388 --- /dev/null +++ b/src/main/java/com/syq/repository/BooksRepository.java @@ -0,0 +1,10 @@ +package com.syq.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; + +import com.syq.entity.Books; + +public interface BooksRepository extends JpaRepository, JpaSpecificationExecutor { + +} diff --git a/src/main/java/com/syq/service/BookTypeService.java b/src/main/java/com/syq/service/BookTypeService.java new file mode 100644 index 0000000..e24b734 --- /dev/null +++ b/src/main/java/com/syq/service/BookTypeService.java @@ -0,0 +1,9 @@ +package com.syq.service; + +import java.util.List; + +import com.syq.entity.BookType; + +public interface BookTypeService { + List getAllBookType(); +} diff --git a/src/main/java/com/syq/service/BooksService.java b/src/main/java/com/syq/service/BooksService.java new file mode 100644 index 0000000..5d9c779 --- /dev/null +++ b/src/main/java/com/syq/service/BooksService.java @@ -0,0 +1,10 @@ +package com.syq.service; + +import org.springframework.data.domain.Pageable; + +import com.syq.entity.Books; +import com.syq.util.FenyeUtil; + +public interface BooksService { + FenyeUtil listBooksByPage(Books book,Pageable pageable); +} diff --git a/src/main/java/com/syq/service/impl/BookTypeServiceImpl.java b/src/main/java/com/syq/service/impl/BookTypeServiceImpl.java new file mode 100644 index 0000000..5141cb8 --- /dev/null +++ b/src/main/java/com/syq/service/impl/BookTypeServiceImpl.java @@ -0,0 +1,24 @@ +package com.syq.service.impl; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.syq.entity.BookType; +import com.syq.repository.BookTypeRepository; +import com.syq.service.BookTypeService; + +@Service +public class BookTypeServiceImpl implements BookTypeService { + + @Autowired + private BookTypeRepository bookTypeRepository; + + @Override + public List getAllBookType() { + // TODO Auto-generated method stub + return bookTypeRepository.findAll(); + } + +} diff --git a/src/main/java/com/syq/service/impl/BooksServiceImpl.java b/src/main/java/com/syq/service/impl/BooksServiceImpl.java new file mode 100644 index 0000000..8dac43f --- /dev/null +++ b/src/main/java/com/syq/service/impl/BooksServiceImpl.java @@ -0,0 +1,55 @@ +package com.syq.service.impl; + +import java.util.List; + +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Expression; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; + +import com.syq.entity.Books; +import com.syq.repository.BooksRepository; +import com.syq.service.BooksService; +import com.syq.util.FenyeUtil; + +@Service +public class BooksServiceImpl implements BooksService { + + @Autowired + private BooksRepository booksRepository; + + @Override + public FenyeUtil listBooksByPage(Books book, Pageable pageable) { + // TODO Auto-generated method stub + Page books = booksRepository.findAll(get(book), pageable); + FenyeUtil fy = new FenyeUtil(); + fy.setData(books.getContent()); + fy.setCount((int)books.getTotalElements()); + return fy; + } + + private Specification get(Books book) { + // TODO Auto-generated method stub + return new Specification() { + + @Override + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { + //创建动态SQL表达式 + Predicate predicate = criteriaBuilder.conjunction(); + //创建动态SQL集合 + List> bList = predicate.getExpressions(); + + + return predicate; + } + }; + } + +} -- Gitee From e226b5762815ed11ddfda311f20f0186758f982a Mon Sep 17 00:00:00 2001 From: sunyuquan <1516748650@qq.com> Date: Mon, 30 Mar 2020 21:10:54 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20src/?= =?UTF-8?q?main/java/com/syq/entity/ResourcesRooms.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/syq/entity/ResourcesRooms.java | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 src/main/java/com/syq/entity/ResourcesRooms.java diff --git a/src/main/java/com/syq/entity/ResourcesRooms.java b/src/main/java/com/syq/entity/ResourcesRooms.java deleted file mode 100644 index c942a91..0000000 --- a/src/main/java/com/syq/entity/ResourcesRooms.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.syq.entity; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Entity -@Table(name = "ResourcesRooms") -public class ResourcesRooms { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer rid; - private String rname; - private String remark; -} -- Gitee From 9e739f0b77488dd18f1f04dfedc68116f00d1971 Mon Sep 17 00:00:00 2001 From: sunyuquan <1516748650@qq.com> Date: Mon, 30 Mar 2020 21:12:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?update=20src/main/java/com/syq/entity/Books?= =?UTF-8?q?.java.=20=E4=BF=AE=E6=94=B9=E4=BA=BA=EF=BC=9A=E5=AD=99=E7=8E=89?= =?UTF-8?q?=E5=85=A8=20=E5=9B=A0=E8=B5=84=E6=BA=90=E5=AE=A4=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E4=B8=8E=E6=88=91=E7=9A=84=E8=B5=84=E6=BA=90=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E4=BA=A7=E7=94=9F=E5=86=B2=E7=AA=81=EF=BC=8C=E6=89=80?= =?UTF-8?q?=E4=BB=A5=E5=88=A0=E6=8E=89=E4=B8=80=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/syq/entity/Books.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/syq/entity/Books.java b/src/main/java/com/syq/entity/Books.java index e116c22..ce69171 100644 --- a/src/main/java/com/syq/entity/Books.java +++ b/src/main/java/com/syq/entity/Books.java @@ -34,7 +34,7 @@ public class Books { @JoinColumn(name = "btid") private BookType bookType; - @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) - @JoinColumn(name = "rid") - private ResourcesRooms resourcesRooms; + // @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + // @JoinColumn(name = "rid") + // private ResourcesRooms resourcesRooms; } -- Gitee