浅谈springboot(三)

1、springboot整合swagger接口文档

引入依赖

<!--引入swagger2依赖-->
        <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.9.6</version>
        </dependency>

添加配置类

@Bean
    public Docket docket(){
        Docket docket = new Docket(DocumentationType.SWAGGER_2);
        return docket;
    }

开启swagger2注解驱动

@SpringBootApplication
@MapperScan("com.newspring.dao")
@EnableSwagger2//开启swagger2注解驱动
public class NewSpring01Application {

    public static void main(String[] args) {
        SpringApplication.run(NewSpring01Application.class, args);
    }

}

 测试用网页路径:http://localhost:8888/doc.html

@Api:接口类的说明 加在controller类上

@ApiOperation: 接口方法的说明。 加在controller方法上

@ApiImplicitParams: 接口方法的所有参数的说明.,加在接口方法上

@ApiImplicitParam:单个参数的说明,一般为@ApiImplicitParams注解的value值

--name: 参数名

--value: 参数的说明

--require: 是否为必须的

--dataType: 参数类型说明 int string

@ApiModel: 对实体类的说明,加在实体类上

@ApiModelProperty: 单个参数的说明,加在实体类的参数上

 2、springboot整合mybatis-plus

引入依赖

 <dependencies>
        <!--mp的依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

修改配置文件

 

编写实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("学生类")
public class Student {
  @TableId(type = IdType.AUTO)
  @ApiModelProperty("学生id")
  private Integer id;
  @ApiModelProperty("学生姓名")
  private String name;
  @ApiModelProperty("学生电话")
  private String phone;
  @ApiModelProperty("学生邮箱")
  private String email;
  @ApiModelProperty("学生专业")
  private String profession;
  @ApiModelProperty("学生年龄")
  private Integer age;
  @ApiModelProperty("学生年级")
  private Integer gender;
  @ApiModelProperty("学生状态")
  private Integer status;
  @ApiModelProperty("学生入学时间")
  private Date createtime;

  @TableField(exist = false)
  private Role role;




}


@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Role对象", description="")
public class Role implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private String rolename;

    @TableField("roleDesc")
    private String roleDesc;


}

 编写dao接口(可连表)

@Mapper
public interface StudentDao extends BaseMapper<Student> {

    IPage<Student> selectPageWithRole(IPage<Student> page, @Param("ew") Wrapper<Student> querywraffer);//此为连表查询,单表查询可以不用写方法交给mp
}

编写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.newspring.dao.StudentDao">

    <resultMap id="selectMapper" type="com.newspring.entity.Student" autoMapping="true">
        <id column="id" property="id"/>
        <association property="role" javaType="com.newspring.entity.Role" autoMapping="true">
        <id column="id" property="id"/>
        </association>
    </resultMap>

    <select id="selectPageWithRole" resultMap="selectMapper">
        select s.*,r.rolename from student s join role r on s.status=r.id
        <if test="ew!=null and ew.customSqlSegment!=null">
        ${ew.customSqlSegment}
        </if>
    </select>
</mapper>

业务实现类

@Override
    public Result selectPageWithRole(Integer currentPage, Integer pageSize, SearchVo searchVo) {
        if(searchVo.getExtime()!=null){
            searchVo.setStartTime(searchVo.getExtime().get(0));
            searchVo.setEndTime(searchVo.getExtime().get(1));
        }

        IPage<Student> iPage=new Page<>(currentPage,pageSize);
        QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
        if(StringUtils.hasText(searchVo.getName())){
        queryWrapper.like("name",searchVo.getName());
        }
        if (Objects.nonNull(searchVo.getAge())){
            queryWrapper.eq("age",searchVo.getAge());
        }
        if (Objects.nonNull(searchVo.getStartTime())){
            queryWrapper.ge("createtime",searchVo.getStartTime());
        }
        if (Objects.nonNull(searchVo.getEndTime())){
            queryWrapper.le("createtime",searchVo.getEndTime());
        }
        IPage<Student> iPage1 = studentDao.selectPageWithRole(iPage, queryWrapper);
        return new Result(200,"查询成功",iPage1);
    }

    @Override
    public Result deleteById(Integer id) {
        int i = studentDao.deleteById(id);
        if(i==0){
            return new Result(500,"失败",0);
        }
        return new Result(200,"成功",1);
    }

    @Override
    public Result selectRole() {
        List<Role> roles = roleDao.selectList(null);

        return new Result(200,"成功",roles);
    }

    @Override
    public Result insert(Student student) {
        int insert = studentDao.insert(student);
        if(insert==0){
            return new Result(500,"失败",0);
        }
        return new Result(200,"成功",1);
    }

    @Override
    public Result update(Student student,Integer id) {
        UpdateWrapper<Student> wrapper=new UpdateWrapper<>();
        wrapper.eq("id",id);
        int update = studentDao.update(student, wrapper);
        if(update==0){
            return new Result(500,"失败",0);
        }
        return new Result(200,"成功",1);
    }

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值