From c0d8a207eef48ff5acdffda8f9dbc443f9351991 Mon Sep 17 00:00:00 2001 From: istars Date: Tue, 8 Jan 2019 00:17:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E5=85=B3=E9=94=AE=E5=AD=97=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SearchServiceController.java | 17 ++ .../repository/ProductRepository.java | 15 ++ .../service/ProductSearchService.java | 9 + .../impl/ProductSearchServiceImpl.java | 171 ++++++++++++++++++ 4 files changed, 212 insertions(+) create mode 100644 demo/src/test/java/com/example/demo/searchService/controller/SearchServiceController.java create mode 100644 demo/src/test/java/com/example/demo/searchService/repository/ProductRepository.java create mode 100644 demo/src/test/java/com/example/demo/searchService/service/ProductSearchService.java create mode 100644 demo/src/test/java/com/example/demo/searchService/service/impl/ProductSearchServiceImpl.java diff --git a/demo/src/test/java/com/example/demo/searchService/controller/SearchServiceController.java b/demo/src/test/java/com/example/demo/searchService/controller/SearchServiceController.java new file mode 100644 index 0000000..dbb7647 --- /dev/null +++ b/demo/src/test/java/com/example/demo/searchService/controller/SearchServiceController.java @@ -0,0 +1,17 @@ +package com.example.demo.searchService.controller; + +import com.example.demo.bean.Product; +import com.example.demo.searchService.service.impl.ProductSearchServiceImpl; +import org.junit.runner.Request; + +import java.util.List; + + +public class SearchServiceController { + ProductSearchServiceImpl productSearchService = new ProductSearchServiceImpl(); + //模糊查询 + @GetMapping("/findByNameLike/{productName}") + public List findByNameLike(@PathVariable(value = "productName") String productName){ + return productSearchService.findByNameLike(productName); + } +} diff --git a/demo/src/test/java/com/example/demo/searchService/repository/ProductRepository.java b/demo/src/test/java/com/example/demo/searchService/repository/ProductRepository.java new file mode 100644 index 0000000..933e60a --- /dev/null +++ b/demo/src/test/java/com/example/demo/searchService/repository/ProductRepository.java @@ -0,0 +1,15 @@ +package com.example.demo.searchService.repository; + +import com.example.demo.bean.Product; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface ProductRepository extends JpaRepository, JpaSpecificationExecutor { + @Query("select p.productName from Product p where p.productName like CONCAT('%',:productName,'%')") + List findByNameLike(@Param("productName") String productName); + +} diff --git a/demo/src/test/java/com/example/demo/searchService/service/ProductSearchService.java b/demo/src/test/java/com/example/demo/searchService/service/ProductSearchService.java new file mode 100644 index 0000000..124d4cc --- /dev/null +++ b/demo/src/test/java/com/example/demo/searchService/service/ProductSearchService.java @@ -0,0 +1,9 @@ +package com.example.demo.searchService.service; + +import com.example.demo.bean.Product; + +import java.util.List; + +public interface ProductSearchService { + List findByNameLike(String productName); +} diff --git a/demo/src/test/java/com/example/demo/searchService/service/impl/ProductSearchServiceImpl.java b/demo/src/test/java/com/example/demo/searchService/service/impl/ProductSearchServiceImpl.java new file mode 100644 index 0000000..bd757b4 --- /dev/null +++ b/demo/src/test/java/com/example/demo/searchService/service/impl/ProductSearchServiceImpl.java @@ -0,0 +1,171 @@ +package com.example.demo.searchService.service.impl; + +import com.example.demo.bean.Product; +import com.example.demo.searchService.repository.ProductRepository; +import com.example.demo.searchService.service.ProductSearchService; +import org.springframework.data.domain.Example; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.domain.Specification; + +import java.util.List; +import java.util.Optional; + +public class ProductSearchServiceImpl implements ProductSearchService { + ProductRepository productRepository = new ProductRepository() { + @Override + public List findByNameLike(String productName) { + return null; + } + + @Override + public List findAll() { + return null; + } + + @Override + public List findAll(Sort sort) { + return null; + } + + @Override + public List findAllById(Iterable iterable) { + return null; + } + + @Override + public List saveAll(Iterable iterable) { + return null; + } + + @Override + public void flush() { + + } + + @Override + public S saveAndFlush(S s) { + return null; + } + + @Override + public void deleteInBatch(Iterable iterable) { + + } + + @Override + public void deleteAllInBatch() { + + } + + @Override + public Product getOne(Integer integer) { + return null; + } + + @Override + public List findAll(Example example) { + return null; + } + + @Override + public List findAll(Example example, Sort sort) { + return null; + } + + @Override + public Optional findOne(Specification specification) { + return Optional.empty(); + } + + @Override + public List findAll(Specification specification) { + return null; + } + + @Override + public Page findAll(Specification specification, Pageable pageable) { + return null; + } + + @Override + public List findAll(Specification specification, Sort sort) { + return null; + } + + @Override + public long count(Specification specification) { + return 0; + } + + @Override + public Page findAll(Pageable pageable) { + return null; + } + + @Override + public S save(S s) { + return null; + } + + @Override + public Optional findById(Integer integer) { + return Optional.empty(); + } + + @Override + public boolean existsById(Integer integer) { + return false; + } + + @Override + public long count() { + return 0; + } + + @Override + public void deleteById(Integer integer) { + + } + + @Override + public void delete(Product product) { + + } + + @Override + public void deleteAll(Iterable iterable) { + + } + + @Override + public void deleteAll() { + + } + + @Override + public Optional findOne(Example example) { + return Optional.empty(); + } + + @Override + public Page findAll(Example example, Pageable pageable) { + return null; + } + + @Override + public long count(Example example) { + return 0; + } + + @Override + public boolean exists(Example example) { + return false; + } + }; + public List findByNameLike(String productName){ + List list = productRepository.findByNameLike(productName); + return list; + } +}