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; + } +}