幼儿java_5月9号 - java幼儿园小哥哥 - 博客园

一、

Swagger是一个 用于生成、描述、调用和可视化RESTful风格的Web服务。

-------------------------------------------类

@Controller

@Api(value="/person",description="针对用户的插入,删除,查看等操作")

@RequestMapping("/person")

------------------------------------------方法

@RequestMapping(value = "/show/{id}",method= RequestMethod.GET)

@ResponseBody

@ApiOperation(value="查看",notes="查看用户", response = Person.class)

public Person getPerson(@PathVariable("id")int id){

---------------------

@ApiModel(value = "a person",description = "a class description a person")

public class Person implements Serializable{

@ApiModelProperty(value = "id",notes = "the unique id")

private int id;

------------------------

亿:

*后端的配置方案有两种,一种是使用默认配置,即在servlet的spring配置文件中增加以下bean的定义

如果不想用默认配置,可以进行自定义一些信息,比如api的说明,联系人信息等.增加配置类,同时确保该类可被定义为spring bean

@Configuration

@EnableSwagger //用于支持swagger,必须和@confuguratin共用,我没有找到这个注解是如何起作用的.

@EnableWebMvc //和 共用,有可能会导致异常[异常][2]

public class SwaggerConfig {

private SpringSwaggerConfig config;

//注入默认配置方案中定义的bean

@Autowired

public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig){

this.config = springSwaggerConfig;

}

@Bean

public SwaggerSpringMvcPlugin getPlugin(){ //最主要的目的就是获得该bean.

return new SwaggerSpringMvcPlugin(config).apiInfo(getApiInfo()); //config对象很重要. 是swaggerSpringMvcPlugin中最重要的一个对象

}

private ApiInfo getApiInfo(){ //提供api的说明,开发者联系方式等

return new ApiInfo("person",

"CURD for person",

"",

"myemail@163.com",

"",

"");

}

亿。

亿:

常用注解:

注解 描述 解释

@Api-----------------------Marks a class as a Swagger resource.用于类对象,只有在类对象上标注该注解后,相应的api信息才能展示出来.

@ApiOperation----------------- Describes an operation or typically a HTTP method against a specific path.描述具体的方法

@ApiImplicitParam-------------------------- Represents a single parameter in an API Operation.描述具体的请求参数,比如具体的响应方法的参数为 HttpServletRequest时,我会从该参数中取一些请求参数,则可以通过该方法单独定义参数.见下面的具体说明,该参数不能单独使用,必须和@ApiImplicitParams一起使用,可参考后面的例子

@ApiImplicitParams---------------------- A wrapper to allow a list of multiple ApiImplicitParam objects.组合一组@ApiImplicitParam

@ApiParam-------------------- Adds additional meta-data for operation parameters.定义具体的请求参数,类似@RequestParam 参数,直接在方法参数上使用.

@ApiResponse-------------------------------- Describes a possible response of an operation.返回值,该类主要有code值与message两个属性,code值必须是http 返回code值,默认会有200,404等,不能单独使用,必须和@ApiResponses一起使用

@ApiResponses------------------- A wrapper to allow a list of multiple ApiResponse objects.组合@ApiResponse

@ApiModel------------------ Provides additional information about Swagger models.提供对请求参数与返回结果中的model的定义

---------------------

ApiImplicitParam 使用说明

@ApiImplicitParams({@ApiImplicitParam(name = "id",paramType = "query",dataType = "java.lang.String")})

@RequestMapping(value = "doNothing",method = RequestMethod.GET)

@ResponseBody

public String log(HttpServletRequest request){

String id = request.getParameter("id");

System.out.println(id);

return "OK";

}

---------------------

作者:曲雨齐

原文:https://blog.csdn.net/nblife0000/article/details/52564240

亿。

二、

初识 tk.mybatis.mapper通用mapper

本次例子地址(源码):https://github.com/wz2cool/tk-mybatis-demo

e59b60b9d53bb0166e6ec42a23567616.png

传统Mybatis用法

SprinfBoot

引用基本的jar到pom

6cf94743fd5de7a6ce2b43078e59ac39.png

sql数据准备

74c785218ced35e106023664bc2ff005.png

entity

9a496770b83148abe896cb462681166e.png

Dao

这里的ProductDao是传统的mybatis的用法

0d36d67981799d7f922c84b61c5f89b6.png

mapper

传统mybatis我们必须有个xml文件和Dao对应起来,tk.maybatis.mapper无需此文件。

0da74198380452941fe42b35d6d422d8.png

设置扫描包

0f74cf55c37f04e633ff89541c62d2b3.png

application.properties

注意这里的配置只是针对我们传统mybatis配置,对于tk.maybatis.mapper可以省略这里的配置。

97b2ab9fb68d52f988f9e8d74457fd9f.png

测试我们可以简单调用下

736a6f5f84f0527b9523e89d1272a5d3.png

我们可以看到输出结果,基本上就通了

a89f2b2c707a90f9363fd71f76efeba6.png

---亿:传统mybatis用法-1.SpringBoot引用基本的jar到pom。2.sql数据准备。3.entity。4.Dao。5.mapper。6.设置扫描包。7.application.properties,注意这里的配置只是针对我们mybatis配置,对于tk.maybatis.mapper可以省略这里的配置。8.测试。亿。

d4e450c0662be7f6e43926bce344643b.png

ab83c3ea38b802c31beca24438665bad.png

tk.mybatis.mapper用法

添加引用

需要多添加两个引用(ps:曾经少了一个mapper-sprig-boot-starter,报错死活找不到为sha--!!!)

631c31ca263186e3804d1d4ace91f9ab.png

继承通用mapper

嗯 是的没有xml文件。

292a31b5c97bbe4b7a4adc2fa508771c.png

测试调用

dao里面自带很多方法,比如selectAll(),insert().

0d2a14ba7dc5aba65ec465bbc624ac12.png

tk.mybatis.mapper初步使用感受

优势

1.无需xml文件和Dao对应。

2.无需指定xml文件位置(因为就没有xml文件)。

3.自带多种常用方法。

tk.mybatismapper(Criteria)筛选

在理解Example以后,就开始了解了Criteria筛选,当然Example还是可以做排序的。

来看看tk.mapper筛选是如何做的

68f724bad5a33d9a9f6bd2ca7369ecb7.png

2bef023e8e56d1574d75c862efc213f6.png

cc28cdedf2be79d13e8af280f2a8ae1f.png

结束

这个只是初次使用tk.mybatis.mapper确实不错,可以减少工作量,好像还是可以生成Dao和mapper的工具。

要有自己的Mapper

看了tk.mybatis.mapper以后,觉得通用mapper也应该加入到Mybatis Dynamic Query中去,当然实现可能有点不一样。

四、

首先,需要一个返回的实体类对象接收

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值