springBoot 用Swagger2实现简单的CRUD

1.首先在pox.xml添加Swagger依赖

<dependency>
    <groupId>com.spring4all</groupId>
    <artifactId>swagger-spring-boot-starter</artifactId>
    <version>1.9.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.7.8</version>
</dependency>

2.创建实体类  我的是员工信息

@Data
@NoArgsConstructor
@AllArgsConstructor

public class Dept {
    private Integer no;
    private String name;
    private String dept;
}

3.创建SwaggerConfig的配置

@Configuration
public class SwaggerConfig {
//功能封装在Docket类中
    @Bean
    public Docket docket() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
//          设置api文档的信息
                .apiInfo( apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.dd.controller"))
                .build();
        return docket;
    }
//    定义自己设置的文档信息
    private ApiInfo apiInfo(){
        Contact DEFAULT_CONTACT = new Contact("党达", "http://www.baidu.com", "120@qq.com");
        ApiInfo apiInfo = new ApiInfo("QY151作业文档", "随便杀杀咯", "V-1.0", "http://www.jd.com",
                DEFAULT_CONTACT, "月薪过万", "http://www.taobao.com", new ArrayList<VendorExtension>());
        return apiInfo;
    }
}

4.控制层

@RestController
@Api(tags = "Hello的接口类")
@ApiOperation(value = "获取用户信息")
public class HelloController {
    @Autowired  //spring容器帮你注入该对象
    private Student student;

    @Autowired
    private DeptService deptService;
//    查询所有
    @PostMapping("/list")
    @ApiOperation(value="查询表格所有信息")
    public CommonResult list(){
        return deptService.findAll();
    }

    //    添加
    @PostMapping  ("/add")
    @ApiOperation(value = "员工部门添加")
    @ResponseBody
    public CommonResult addDept(@RequestBody Dept dept){
        int add=deptService.addDept(dept);
        if (add>0){
            return new CommonResult(2000,"修改成功",add);
        }else{
            return new CommonResult(5000,"修改失败",null);
        }
    }
//    删除
    @PostMapping("/delete")
    @ApiOperation(value = "员工部门删除")
    public int  delete(Integer no){
        return deptService.deleteById(no);
    }
    @PostMapping("update")
    @ApiOperation(value = "员工部门修改;")
    public  CommonResult update(@RequestBody Dept dept){
        int update=deptService.upDate(dept);
        if (update>1){
            return new CommonResult(2000,"修改成功",update);
        }else {
            return new CommonResult(5000,"修改成功",null);
        }
    }

    @GetMapping("/first")
    @ApiOperation(value = "获取用户信息")
    public Map<String,Object> first(){
       Map<String,Object> map =new HashMap<>();
       map.put("name","党达");
       map.put("age","18");
       return map;
    }
    @PostMapping("/login")
    @ApiOperation(value = "登录接口")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "账号",name="zh",required=true),
            @ApiImplicitParam(value = "密码",name="password",required = true)
    })
    public CommonResult login(String zh,String password){

        return new CommonResult(2000,"成功载入",null);
    }

}

5.Dao层

/**
 * 接口
 */
@Component
public interface DeptMapper {
 // 根据ID修改部门
 int upDate(Dept dept);

 //    根据 id查找员工
 Dept findById(Integer no);
 //分页查询
 List<Dept> findAll();

 //根据Id删除员工
 int deleteById(Integer no);

 // 添加员工
 int addDept(Dept dept);

}

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.dd.dao.DeptMapper">

    <insert id="addDept" parameterType="com.dd.entity.Dept">
        insert into dept(name,dept) values (#{name},#{dept})
    </insert>

    <update id="upDate" parameterType="com.dd.entity.Dept">
        update dept set name =#{name} ,dept=#{dept} where no=#{no}
    </update>

    <delete id="deleteById" parameterType="com.dd.entity.Dept">
     delete from dept where no =#{no}
    </delete>

    <select id="findById" resultType="com.dd.entity.Dept">
        select * from dept where no =#{no}
    </select>
    <select id="findAll" resultType="com.dd.entity.Dept">
        select * from dept
    </select>
</mapper>

6.service层

Impl实现类

@Service
public class DeptImpl implements DeptService {

    @Autowired
    private DeptMapper deptMapper;
    @Override
    public int upDate(Dept dept) {
        return deptMapper.upDate(dept);
    }

    @Override
    public Dept findById(Integer no) {
        return deptMapper.findById(no);
    }
    @Override
    public CommonResult findAll() {
        PageHelper.startPage(1,5);
        List<Dept> list=deptMapper.findAll();
        PageInfo<Dept> deptPageInfo = new PageInfo<>(list);
        System.out.println("当前页码"+deptPageInfo.getPageNum());
        System.out.println("当前总页码"+deptPageInfo.getPages());
        System.out.println("总条数"+deptPageInfo.getTotal());
        System.out.println("当前页码记录"+deptPageInfo.getList());
       return new CommonResult(2000, "查询成功", list);

    }

    @Override
    public int deleteById(Integer no) {
        return deptMapper.deleteById(no);
    }

    @Override
    public int addDept(Dept dept) {
        return deptMapper.addDept(dept);
    }
}
public interface DeptService {
    // 根据ID修改部门
    int upDate(Dept dept);

    //    根据 id查找员工
    Dept findById(Integer no);
    //分页查询
    CommonResult findAll();

    //根据Id删除员工
    int deleteById(Integer no);

    // 添加员工
    int addDept(Dept dept);
}

记得在Spring启动注解下加入这两个注解

@SpringBootApplication
@MapperScan(basePackages="com.dd.dao")//为指定的包下接口生成代理类
@EnableSwagger2//开启swagger注解

效果图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿Ada

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值