1,Mapper的增删改查

本文详细介绍了基于Changgou项目的品牌管理功能,包括BrandMapper接口的使用,涉及品牌列表查询、按ID查询、新增、修改、删除、条件查询、分页查询以及条件加分页查询的实现步骤,涵盖了Dao、Service、Controller各层的代码示例。
摘要由CSDN通过智能技术生成

基于changgou项目

注意

insert和insertSelective区别
两者的区别在于如果选择insert 那么所有的字段都会添加一遍即使没有值
但是如果使用inserSelective就会只给有值的字段赋值(会对传进来的值做非空判断)
其他后面有Selective字眼的都是这样

品牌表对应Brand实体类

@Table(name="tb_brand")
public class Brand implements Serializable{
   
	@Id
	private Integer id;//品牌id
	private String name;//品牌名称
	private String image;//品牌图片地址
	private String letter;//品牌的首字母
	private Integer seq;//排序
	
	// getter and setter  .....(省略)
}

@Table和@Id都是JPA注解,@Table用于配置表与实体类的映射关系,@Id用于标识主键属性。

1 查询全部 - 品牌列表

brandMapper.selectAll();

一般不是使用,一般查询都会使用分页的方式

(1)Dao创建

在changgou-service-goods微服务下创建com.changgou.goods.dao.BrandMapper接口,代码如下:

public interface BrandMapper extends Mapper<Brand> {
   
}

继承了Mapper接口,就自动实现了增删改查的常用方法。

(2)业务层

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

public interface BrandService {
   

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

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

@Service
public class BrandServiceImpl {
   

    @Autowired
    private BrandMapper brandMapper;

    /**
     * 全部数据
     * @return
     */
    public List<Brand> findAll(){
   
        return brandMapper.selectAll();
    }
}

(3)控制层

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

@RestController
@RequestMapping("/brand")
public class BrandController {
   

    @Autowired
    private BrandService brandService;

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

2 根据ID查询品牌

2.1brandMapper.selectByPrimaryKey(id);

(1)业务层

修改com.changgou.goods.service.BrandService接口,添加根据ID查询品牌数据方法,代码如下:

/**
 * 根据ID查询
 * @param id
 * @return
 */
Brand findById(Integer id);

修改com.changgou.goods.service.impl.BrandServiceImpl新增方法,代码如下:

/**
 * 根据ID查询
 * @param id
 * @return
 */
@Override
public Brand findById(Integer id){
   
    return  brandMapper.selectByPrimaryKey(id);
}

(2)控制层

BrandController新增方法

/***
 * 根据ID查询品牌数据
 * @param id
 * @return
 */
@GetMapping("/{id}")
public Result<Brand> findById(@PathVariable Integer id){
   
    //根据ID查询
    Brand brand = brandService.findById
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值