springboot + mybatis + mySql 简单写增删改查

1.创建数据库(略)

2.用mabatis-generate生成映射

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.controller

package com.hlj.wym.browser.controller;


import com.hlj.wym.browser.query.ReportTemplateQuery;
import com.hlj.wym.browser.service.ReportTemplateService;
import com.hlj.wym.browser.vo.ReportTemplateAddParam;
import com.hlj.wym.browser.vo.ReportTemplateEditParam;
import com.hlj.wym.common.result.PageResult;
import com.hlj.wym.common.result.Result;
import com.hlj.wym.common.result.ResultCode;
import com.hlj.wym.mbg.model.ReportTemplateWithBLOBs;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@RestController
@RequestMapping("/browser/report/template")
@Api(tags = "ReportTemplateController", description = "模板管理")
public class ReportTemplateController {

    @Autowired
    private ReportTemplateService reportTemplateService;

    @PostMapping("/add")
    @ApiOperation("添加模板")
    public Result add(@ModelAttribute @Valid ReportTemplateAddParam param){
        if(param != null){
            Integer count = reportTemplateService.add(param);
            if (count > 0) {
                return new Result(ResultCode.SUCCESS);
            }
            return new Result(ResultCode.FAILED);
        }
        return new Result(ResultCode.PARAM_FAIlED);
    }

    @PutMapping("/edit")
    @ApiOperation("修改模板")
    public Result edit(@ModelAttribute @Valid ReportTemplateEditParam param){
        if(param != null){
            Integer count = reportTemplateService.edit(param);
            if (count > 0) {
                return new Result(ResultCode.SUCCESS);
            }
            return new Result(ResultCode.FAILED);
        }
        return new Result(ResultCode.PARAM_FAIlED);
    }

    @DeleteMapping("/del")
    @ApiOperation("删除模板")
    public Result del(@RequestParam Integer id){
        if(id != null){
            Integer count = reportTemplateService.del(id);
            if (count > 0) {
                return new Result(ResultCode.SUCCESS);
            }
            return new Result(ResultCode.FAILED);
        }
        return new Result(ResultCode.PARAM_FAIlED);
    }


    @GetMapping("/getAll")
    @ApiOperation("查询模板")
    public Result getAll(@ModelAttribute @Valid ReportTemplateQuery param){
        PageResult data = reportTemplateService.getAll(param);
        if (data == null) {
            return new Result(ResultCode.PARAM_FAIlED);
        }
        if (data.getTotal() == 0 || data.getRows().size() == 0) {
            return new Result(ResultCode.SELECT_FAILED,data);
        }
        return new Result(data);
    }

    @GetMapping("/getOne")
    @ApiOperation("查询单个模板")
    public Result getOne(@RequestParam Integer id){
        if(id != null){
            ReportTemplateWithBLOBs reportTemplateWithBLOBs = reportTemplateService.getOne(id);
            if (reportTemplateWithBLOBs != null) {
                return new Result(ResultCode.SUCCESS, reportTemplateWithBLOBs);
            }
            return new Result(ResultCode.FAILED);
        }
        return new Result(ResultCode.PARAM_FAIlED);
    }
}

4.vo 和 query(传参数据结构)

package com.hlj.wym.browser.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@Data
public class ReportTemplateAddParam implements Serializable {

    @ApiModelProperty(value = "模板名称")
    private String title;

    @ApiModelProperty(value = "模板封面")
    private String cover;

    @ApiModelProperty(value = "模板描述")
    private String description;

    @ApiModelProperty(value = "页面高度")
    private Double height;

    @ApiModelProperty(value = "页面样式")
    private String style;

    @ApiModelProperty(value = "是否发布")
    private Boolean isPublish;

    @ApiModelProperty(value = "是否是模板")
    private Boolean isTemplate;

    @ApiModelProperty(value = "页面")
    private String pages;
}
package com.hlj.wym.browser.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@Data
public class ReportTemplateEditParam implements Serializable {
    @ApiModelProperty(value = "id", required = true)
    private Integer id;

    @ApiModelProperty(value = "模板名称")
    private String title;

    @ApiModelProperty(value = "模板封面")
    private String cover;

    @ApiModelProperty(value = "模板描述")
    private String description;

    @ApiModelProperty(value = "页面高度")
    private Double height;

    @ApiModelProperty(value = "页面样式")
    private String style;

    @ApiModelProperty(value = "是否发布")
    private Boolean isPublish;

    @ApiModelProperty(value = "是否是模板")
    private Boolean isTemplate;

    @ApiModelProperty(value = "页面")
    private String pages;
}

5.service(接口与实现)

package com.hlj.wym.browser.service;

import com.hlj.wym.browser.query.ReportTemplateQuery;
import com.hlj.wym.browser.vo.ReportTemplateAddParam;
import com.hlj.wym.browser.vo.ReportTemplateEditParam;
import com.hlj.wym.common.result.PageResult;
import com.hlj.wym.mbg.model.ReportTemplateWithBLOBs;

public interface ReportTemplateService {
    Integer add(ReportTemplateAddParam param);

    PageResult getAll(ReportTemplateQuery param);

    Integer edit(ReportTemplateEditParam param);

    Integer del(Integer id);

    ReportTemplateWithBLOBs getOne(Integer id);
}

package com.hlj.wym.browser.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.hlj.wym.browser.mapper.ReportTemplateMapper;
import com.hlj.wym.browser.query.ReportTemplateQuery;
import com.hlj.wym.browser.service.ReportTemplateService;
import com.hlj.wym.browser.vo.ReportTemplateAddParam;
import com.hlj.wym.browser.vo.ReportTemplateEditParam;
import com.hlj.wym.common.result.PageResult;
import com.hlj.wym.mbg.dao.ReportTemplateDao;
import com.hlj.wym.mbg.model.ReportTemplateWithBLOBs;
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Calendar;
import java.util.Date;
import java.util.Map;

@Service
public class ReportTemplateServiceImpl implements ReportTemplateService {

    @Autowired
    private ReportTemplateDao reportTemplateDao;
    @Autowired
    private ReportTemplateMapper reportTemplateMapper;

    @Override
    public Integer add(ReportTemplateAddParam param) {

        ReportTemplateWithBLOBs reportTemplateWithBLOBs = new ReportTemplateWithBLOBs();
        BeanUtils.copyProperties(param,reportTemplateWithBLOBs);
        reportTemplateWithBLOBs.setDelStatus("0");
        reportTemplateWithBLOBs.setCreateTime(DateUtils.round(new Date(), Calendar.SECOND));
        Integer count = reportTemplateDao.insert(reportTemplateWithBLOBs);
        return count;
    }

    @Override
    public PageResult getAll(ReportTemplateQuery query) {
        Integer pageNum = query.getPageNum();
        Integer pageSize = query.getPageSize();
        if (pageNum == null || pageSize == null) {
            return null;
        }
        PageHelper.startPage(pageNum, pageSize);
        Page<Map<String, Object>> page = reportTemplateMapper.getAll(query);
        return new PageResult(page.getTotal(), page.getResult());
    }

    @Override
    public Integer edit(ReportTemplateEditParam param) {
        ReportTemplateWithBLOBs bean = new ReportTemplateWithBLOBs();
        BeanUtils.copyProperties(param, bean);
        bean.setUpdateTime(DateUtils.round(new Date(), Calendar.SECOND));
        Integer count = reportTemplateDao.updateByPrimaryKeySelective(bean);
        return count;
    }

    @Override
    public Integer del(Integer id) {
        ReportTemplateWithBLOBs bean = new ReportTemplateWithBLOBs();
        bean.setDelStatus("1");
        bean.setId(id);
        Integer count = reportTemplateDao.updateByPrimaryKeySelective(bean);
        return count;
    }

    @Override
    public ReportTemplateWithBLOBs getOne(Integer id) {
        ReportTemplateWithBLOBs reportTemplateWithBLOBs = reportTemplateDao.selectByPrimaryKey(id);
        return reportTemplateWithBLOBs;
    }
}

6.mapper.xml以及mapper(查询时候使用,包括分页)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.hlj.wym.browser.mapper.ReportTemplateMapper">
    <select id="getAll" resultType="map" parameterType="com.hlj.wym.browser.query.ReportTemplateQuery">
        select * from t_report_template where del_status = 0
    </select>
</mapper>
package com.hlj.wym.browser.mapper;

import com.github.pagehelper.Page;
import com.hlj.wym.browser.query.ReportTemplateQuery;

import java.util.Map;

public interface ReportTemplateMapper {

    Page<Map<String, Object>> getAll(ReportTemplateQuery query);
}

7.查询条件补充

这里带了一个模糊查询并且可有可无(belong)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.hlj.wym.browser.mapper.FormMapper">
    <select id="getAll" resultType="map" parameterType="com.hlj.wym.browser.query.FormQuery">
        select * from t_form
        <trim prefix="where" suffixOverrides="and">
            <if test="belong!=null and belong!=''">
                t_form.belong
                 like concat('%',#{belong},'%')
            </if>
        </trim>
    </select>
</mapper>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值