畅购电商项目_框架搭建(一)

一、父工程搭建

1.搭建父工程模块

创建父工程模块,因为父工程不需要写代码所以删除src目录。
父工程的pom文件,注意:父工程打pom包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.mychanggou</groupId>
    <artifactId>mychanggou</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>pom</packaging>
    <description>
        父工程 统一版本的控制 所有的工程都应该继承父工程
    </description>
   
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <!--打包的时候跳过测试-->
        <skipTests>true</skipTests>
    </properties>

    <!--依赖包-->
    <dependencies>

        <!--鉴权-->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.0</version>
        </dependency>
        <!--测试包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

        <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.51</version>
        </dependency>

        <!--swagger文档 可选的-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>

        <!--
            http://localhost:9011/swagger-ui.html
        -->
    </dependencies>

    <!--springcloud的版本控制-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

2.搭建changgou-gateway微服务网关的父工程

在父工程下创建Gateway微服务网关父工程模块,同样删除src目录。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mychanggou</artifactId>
        <groupId>com.mychanggou</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <description>
        网关 父工程
    </description>
    <artifactId>muchanggou-gateway</artifactId>
</project>

3.创建changgou-service微服务父工程

在父工程下创建service微服务父工程,同样删除src目录。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mychanggou</artifactId>
        <groupId>com.mychanggou</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <description>
        微服务的父工程
    </description>
   
    <artifactId>mychanggou-service</artifactId>

    <dependencies>
        <dependency>
            <groupId>com.mychanggou</groupId>
            <artifactId>mychanggou-common-db</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

4.创建changgou-service-api模块父工程

在父工程下创建service-api模块父工程,同样删除src

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mychanggou</artifactId>
        <groupId>com.mychanggou</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>

    <description>
        通用的API javean feign的父工程
    </description>
    
    <artifactId>mychanggou-service_api</artifactId>
</project>

5.web模块的父工程

在父工程下创建web模块的父工程,删除src

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mychanggou</artifactId>
        <groupId>com.mychanggou</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>mychanggou-web</artifactId>

    <packaging>pom</packaging>

    <description>
        web工程所在的父工程
    </description>


</project>

二、搭建Eureka模块

创建Eureka子模块。作为微服务注册中心。
在这里插入图片描述

1.pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mychanggou</artifactId>
        <groupId>com.mychanggou</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>mychanggou-eureka</artifactId>

    <!--eureka的服务端 注册中心-->

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

</project>

2.application.yml文件:

server:
  port: 7001
eureka:
  instance:
    hostname: 127.0.0.1
  client:
    register-with-eureka: false   #是否将自己注册到eureka中
    fetch-registry: false         #是否从eureka中获取信息
    service-url:
      defaultZone: http://${
    
    eureka.instance.hostname}:${
    
    server.port}/eureka/
spring:
  application:
    name: eureka

3.主启动类

package com.mychanggou;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
 * @author :LiuShihao
 * @date :Created in 2020/8/11 3:36 下午
 * @desc :注册中心启动类
 */
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
    
    
    public static void main(String[] args) {
    
    
        SpringApplication.run(EurekaApplication.class);
    }
}

三、搭建公共模块

创建公共子模块common。
有一句话叫:一个项目好不好,就看工具抽取有多少。
在这里插入图片描述

1.pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mychanggou</artifactId>
        <groupId>com.mychanggou</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>mychanggou-common</artifactId>
    <dependencies>
        <!--web起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- redis 使用-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--eureka-client-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!--openfeign-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <!--微信支付-->
        <dependency>
            <groupId>com.github.wxpay</groupId>
            <artifactId>wxpay-sdk</artifactId>
            <version>0.0.3</version>
        </dependency>
        <!--httpclient支持-->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>
    </dependencies>

</project>

四、搭建数据访问工程

创建common-db模块,主要就是访问数据库的依赖
在这里插入图片描述

1.pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mychanggou</artifactId>
        <groupId>com.mychanggou</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>mychanggou-common-db</artifactId>
    <!--依赖-->
    <dependencies>
        <!--对mychanggou-common的依赖-->
        <dependency>
            <groupId>com.mychanggou</groupId>
            <artifactId>mychanggou-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--通用mapper起步依赖-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.0.4</version>
        </dependency>
        <!--MySQL数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--mybatis分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
        </dependency>
    </dependencies>

</project>

五、搭建商品微服务模块

1.创建changgou-service-goods-api

在changgou-service-api父工程模块下创建changgou-service-goods-api模块,主要是商品的实体类。
在这里插入图片描述
注意:需要在cahnggou-service-api父工程的pom文件中导入依赖

 <!--通用的common  要有feign的依赖-->
        <dependency>
            <groupId>com.mychanggou</groupId>
            <artifactId>mychanggou-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!--每个工程都有Pojo,都需要用到该包对应的注解-->
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

2.创建changgou-service-goods模块

在changgou-service父工程下创建 changgou-service-goods子模块。
在changgou-service父工程pom文件中引入common公共模块依赖:

	<dependencies>
        <dependency>
            <groupId>com.mychanggou</groupId>
            <artifactId>mychanggou-common-db</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

1.changgou-service-goods模块的pom文件

注意:changgou-service-goods模块需要引入changgou-service-goods-api模块的依赖。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mychanggou-service</artifactId>
        <groupId>com.mychanggou</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>mycahnggou-service-goods</artifactId>

    <description>
        cahgngou_goods数据库的管理,商品微服务工程
    </description>
    <!--依赖-->
    <dependencies>
        <dependency>
            <groupId>com.mychanggou</groupId>
            <artifactId>mychanggou-service-goods-api</artifactId>
            <version>1.0-SNAPSHOT</version>
         </dependency>
    </dependencies>

</project>

2.application.yml文件:

server:
  port: 18081
spring:
  application:
    name: goods
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.211.132:3306/changgou_goods?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
    username: root
    password: 123456
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:7001/eureka
  instance:
    prefer-ip-address: true
feign:
  hystrix:
    enabled: true
#使用通用mapper  可以实现0sql语句,可以用也可以不用下以下配置 随便
mybatis:
  configuration:
    map-underscore-to-camel-case: true
  mapper-locations: classpath:mapper/*Mapper.xml
  type-aliases-package: com.changgou.goods.pojo

3.主启动类

package com.mychanggou;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

/**
 * @author :LiuShihao
 * @date :Created in 2020/9/15 11:32 下午
 * @desc :
 */
@SpringBootApplication
@EnableEurekaClient//开启Eureka客户端
public class GoodsApplication {
    
    
    public static void main(String[] args) {
    
    
        SpringApplication.run(GoodsApplication.class);
    }
}

六、实现商品微服务品牌的增删改查

1.品牌表:

在这里插入图片描述

2.表映射实体类

在这里插入图片描述
@Table和@Id都是JPA注解,@Table用于配置表与实体类的映射关系,@Id用 于标识主键属性。

3.DAO层

在changgou-service-goods微服务下创建
com.changgou.goods.dao.BrandMapper接口,代码如下:
继承了Mapper接口,就自动实现了增删改查的常用方法。

import com.mychanggou.goods.pojo.Brand;
import tk.mybatis.mapper.common.Mapper;

/**
 * @author :LiuShihao
 * @date :Created in 2020/9/16 1:50 下午
 * @desc :品牌表的dao层
 */
public interface BrandMapper extends Mapper<Brand> {
    
    

}

在GoodsApplication主启动类上添加上MapperScan注解@MapperScan(basePackages = "com.mychanggou.goods.dao")
在这里插入图片描述

4.业务层

创建com.changgou.goods.service.BrandService接口,代码如下:

public interface BrandService {
    
    

    /***
     * 查询所有品牌
     *  @return
     */
    List<Brand> findAll();
}

创建com.changgou.goods.service.impl.BrandServiceImpl实现类,代码如下:

@Service
public class BrandServiceImpl implements BrandService {
    
    
    @Autowired
    BrandMapper brandMapper;

    @Override
    public List<Brand> findAll() {
    
    
        return brandMapper.selectAll();
    }
}

5.控制层

控制层 com.changgou.goods包下创建controller包 ,包下创建类

@RestController
@RequestMapping("/brand")
public class BrandController {
    
    
    @Autowired
    BrandService brandService;
    /***
     * 查询全部数据 * @return */
    @GetMapping
    public Result<Brand> findAll(){
    
    
        List<Brand> brandList = brandService.findAll();
        return new Result<Brand>(true, StatusCode.OK,"查询成功",brandList) ;
    }
}

6.启动测试

1)启动报错

在这里插入图片描述

2)解决方法:

去除对默认日志的依赖

	<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

3)启动成功

在这里插入图片描述

4)查询成功

在这里插入图片描述

5)其他方法

  1. 根据ID查询品牌
  2. 根据ID查询实体数据
  3. 增加
  4. 修改
  5. 删除
  6. 条件查询
  7. 分页查询
  8. 分页+条件查询

不再一一展示。

7.完整控制层、业务层、DAO层代码

controller:

package com.mychanggou.goods.controller;

import com.github.pagehelper.PageInfo;
import com.mychanggou.goods.goods.pojo.Brand;
import com.mychanggou.goods.service.BrandService;
import entity.Result;
import entity.StatusCode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author :LiuShihao
 * @date :Created in 2020/9/16 1:58 下午
 * @desc :
 */
@RestController
@RequestMapping("/brand")
@CrossOrigin//跨域  :A域名访问B域名的数据 就存在跨域;域名/端口/协议  不一致的时候就会产生跨域问题
public class BrandController {
    
    
    @Autowired
    BrandService brandService;
    /***
     * 查询全部数据 * @return */
    @GetMapping
    public Result<Brand> findAll(){
    
    
        List<Brand> brandList = brandService.findAll();
        return new Result<Brand>(true, StatusCode.OK,"查询成功",brandList) ;
    }

    /**
     * 根据ID查询
     * @param id
     * @return
     */
    @GetMapping("/{id}")
    public Result<Brand> findById(@PathVariable Integer id){
    
    
        //根据ID查询
        Brand brand = brandService.findById(id);
        return new Result<Brand>(true,StatusCode.OK,"查询成功",brand);
    }

    /**
     * 新增品牌数据
     * @param brand
     * @return
     */
    @PostMapping
    public Result add(@RequestBody Brand brand){
    
    
        brandService.add(brand);
        return new Result(true,StatusCode.OK,"添加成功");
    }

    /**
     * 修改品牌数据
     * @param brand
     * @param id
     * @return
     */
    @PutMapping(value="/{id}")
    public Result update(@RequestBody Brand brand,@PathVariable Integer id) {
    
    
        //设置ID
        brand.setId(id);
        //修改数据
        brandService.update(brand);
        return new Result(true, StatusCode.OK, "修改成功");
    }

    /**
     * 删除品牌数据
     * @param id
     * @return
     */
    @DeleteMapping(value = "/{id}" )
    public Result delete(@PathVariable Integer id){
    
    
        brandService.delete(id);
        return new Result(true,StatusCode.OK,"删除成功");
    }

    /**
     * 多条件查询
     * @param brand
     * @return
     */
    @PostMapping(value = "/search" )
    public Result<List<Brand>> findList(@RequestBody(required= false) Brand brand) {
    
    
        List<Brand> list = brandService.findList(brand);
        return new Result<List<Brand>>(true, StatusCode.OK, "查询成功", list);
    }

    /**
     * 分页查询
     * @param page
     * @param size
     * @return
     */
    @GetMapping(value = "/search/{page}/{size}" )
    public Result<PageInfo<Brand>> findPage(@PathVariable("page") int page,@PathVariable("size") int size){
    
    
        PageInfo<Brand> pageInfo = brandService.findPage(page, size);
        return new Result<PageInfo<Brand>>(true,StatusCode.OK,"查询成 功",pageInfo);
    }

    /**
     * 多条件查询+分页
     * @param brand
     * @param page
     * @param size
     * @return
     */
    @PostMapping(value = "/search/{page}/{size}" )
    public Result<PageInfo<Brand>> findPage(@RequestBody(required =false) Brand brand, @PathVariable  int page, @PathVariable int size){
    
    
        PageInfo<Brand> pageInfo = brandService.findPage(brand, page, size);
        return new Result<PageInfo<Brand>>(true,StatusCode.OK,"查询成功",pageInfo);
    	}
    }

业务层接口:

package com.mychanggou.goods.service;

import com.github.pagehelper.PageInfo;
import com.mychanggou.goods.goods.pojo.Brand;

import java.util.List;

/**
 * @author :LiuShihao
 * @date :Created in 2020/9/16 1:54 下午
 * @desc :
 */
public interface BrandService {
    
    

    List<Brand> findAll();

    Brand findById(Integer id);

    void add(Brand brand);

    void update(Brand brand);

    void delete(Integer id);

    List<Brand> findList(Brand brand);

    PageInfo<Brand> findPage(int page, int size);

    PageInfo<Brand> findPage(Brand brand, int page, int size);
}

业务层实现类:

package com.mychanggou.goods.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mychanggou.goods.dao.BrandMapper;
import com.mychanggou.goods.goods.pojo.Brand;
import com.mychanggou.goods.service.BrandService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import tk.mybatis.mapper.entity.Example;

import java.util.List;

/**
 * @author :LiuShihao
 * @date :Created in 2020/9/16 1:54 下午
 * @desc :
 */
@Service
public class BrandServiceImpl implements BrandService {
    
    
    @Autowired
    BrandMapper brandMapper;

    @Override
    public List<Brand> findAll() {
    
    
        return brandMapper.selectAll();
    }

    @Override
    public Brand findById(Integer id) {
    
    
        return brandMapper.selectByPrimaryKey(id);
    }

    @Override
    public void add(Brand brand) {
    
    
        brandMapper.insert(brand);
    }

    @Override
    public void update(Brand brand) {
    
    
        brandMapper.updateByPrimaryKey(brand);
    }

    @Override
    public void delete(Integer id) {
    
    
        brandMapper.deleteByPrimaryKey(id);
    }

    @Override
    public List<Brand> findList(Brand brand) {
    
    
        //构建查询条件
        Example example = createExample(brand); //根据构建的条件查询数据
        return brandMapper.selectByExample(example);
    }

    @Override
    public PageInfo<Brand> findPage(int page, int size) {
    
    
        //静态分页
        PageHelper.startPage(page,size);
        //分页查询
        return new PageInfo<Brand>(brandMapper.selectAll());
    }

    @Override
    public PageInfo<Brand> findPage(Brand brand, int page, int size) {
    
    
        //分页
        PageHelper.startPage(page,size);
        //搜索数据
        Example example = createExample(brand);
        return new PageInfo<Brand>(brandMapper.selectByExample(example));
    }

    /**
     * 构建查询对象
     * @param brand
     * @return
     */
    public Example createExample(Brand brand){
    
    
        Example example=new Example(Brand.class);
        Example.Criteria criteria = example.createCriteria();
        if(brand!=null){
    
    
        // 品牌名称
            if(!StringUtils.isEmpty(brand.getName())){
    
    
            criteria.andLike("name","%"+brand.getName()+"%");
            }
        // 品牌图片地址
            if(!StringUtils.isEmpty(brand.getImage())){
    
    
        criteria.andLike("image","%"+brand.getImage()+"%");
            }
        // 品牌的首字母
            if(!StringUtils.isEmpty(brand.getLetter())){
    
    
        criteria.andLike("letter","%"+brand.getLetter()+"%");
            }
        // 品牌id
            if(!StringUtils.isEmpty(brand.getLetter())){
    
    
        criteria.andEqualTo("id",brand.getId());
            }
        // 排序
            if(!StringUtils.isEmpty(brand.getSeq())){
    
    
        criteria.andEqualTo("seq",brand.getSeq());
            }
        }
        return example;
        }
}

DAO层:

package com.mychanggou.goods.dao;

import com.mychanggou.goods.goods.pojo.Brand;
import tk.mybatis.mapper.common.Mapper;

/**
 * @author :LiuShihao
 * @date :Created in 2020/9/16 1:50 下午
 * @desc :品牌表的dao层
 */
public interface BrandMapper extends Mapper<Brand> {
    
    

}

猜你喜欢

转载自blog.csdn.net/DreamsArchitects/article/details/108610982