首页 > 其他分享 >Mybatis-Flex的增、删、改、查以及swagger (knife4J)的使用

Mybatis-Flex的增、删、改、查以及swagger (knife4J)的使用

时间:2024-10-12 13:46:38浏览次数:11  
标签:Flex knife4J return Culture private id culture Mybatis public

现代 Java 开发中,Mybatis - Flex 是一个功能强大的 Java 持久层框架,使数据库操作高效灵活,而Swagger(Knife4J)则改善 了API 文档化与测试体验,两者结合能提高效率、增强协作、保证代码质量。本文将详细描述 Mybatis - Flex 增、删、改、查操作及与 Swagger(Knife4J)协同使用,以下均已Culture为例。

一、项目文件组织架构

(1).在com.mybatisflex.demo下新增config软件包
(2).新增Knife4jConfig、CultureController、Culture、CultureServiceImpl类以及CultureMapper、CultureService接口

二、构建数据库

CREATE TABLE `tb_culture` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `description` longtext COMMENT '文化艺术描述',
  `create_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  `is_deleted` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

三、引入依赖配置knife4J

(1).在pom.xml中引入Knife4j的依赖包,代码如下:
<dependency>
     <groupId>com.github.xiaoymin</groupId>
     <artifactId>knife4j-spring-boot-starter</artifactId>
     <version>2.0.9</version>
</dependency>
(2).创建Swagger配置依赖,代码如下:
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfig {
    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.mybatisflex.demo.controlle"))
                .paths(PathSelectors.any())
                .build();

    }

    private ApiInfo apiInfo() {
        Contact author = new Contact("xxx", "地址", "邮箱");
        return new ApiInfo(
                "闽南文化艺术",
                "闽南文化艺术文档",
                "1.0",
                "",
                author,
                "",
                "",
                new ArrayList()
        );
    }
}

注意:

.apis(RequestHandlerSelectors.basePackage("com.mybatisflex.demo.controlle"))文件路径要与自己项目的路径名保持一致哦!
(3).加入application.yml配置文件 
mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

运行测试: http://localhost:8080/doc.html

四、增、删、改、查操作

(1)构建实体类Culture.java
@Data
@Table("tb_culture")
public class Culture {
    @Id(keyType = KeyType.Auto)
    private Integer id;
    private String name;
    @Column(isLarge = true)
    private String description;
    @Column(onInsertValue = "now()")
    private Date createTime;
    @Column(onInsertValue = "now()",onUpdateValue = "now()")
    private Date updateTime;
    @Column(isLogicDelete = true)
    private Boolean isDeleted;

}
(2)构建Service层接口CultureService
public interface CultureService extends IService<Culture> {
}
(3)构建Service的具体类CultureServiceImpl.java
@Service
public class CultureServiceImpl extends ServiceImpl<CultureMapper, Culture> implements CultureService {
}

(4)构建Mapper层上的接口CultureMapper

public interface CultureMapper extends BaseMapper<Culture> {
}

(5)构建controller层上的类CultureController.java

@RestController
@RequestMapping("/api/culture")
public class CultureController {
    @Autowired
    private CultureService cultureService;
    //CURD
    @PostMapping("/create")
    public Boolean create(Culture culture){
        return cultureService.save(culture);
    }
    @PostMapping("/update")
    public  Boolean update(Culture culture){
        return cultureService.updateById(culture);
    }
    @GetMapping("/delete")
    public Boolean delete(Integer id){
        return cultureService.removeById(id);
    }
    @GetMapping("/all")
    public List<Culture> all(){
        return cultureService.list();
    }
    @GetMapping("/one")
    public Culture one(Integer id){
        return cultureService.getById(id);
    }
}

五、测试

(1).添加数据

点击发送响应内容返回true表示添加数据成功!

 

(2).删除数据

注意:这里的删除是只删除在线文档上的,实际的数据库中是没有被删除的哦!

 

 

(3).查询数据
1).查询所有数据

2). 查询单个数据

 (4).修改数据

 

 

 注意:此处根据id来修改数据哦!

标签:Flex,knife4J,return,Culture,private,id,culture,Mybatis,public
From: https://blog.csdn.net/2301_80449758/article/details/142874899

相关文章

  • 手写mybatis之把反射用到出神入化
    前言但在实操上,很多码农根本没法阅读框架源码。首先一个非常大的问题是,面对如此庞大的框架源码,不知道从哪下手。与平常的业务需求开发相比,框架源码中运用了大量的设计原则和设计模式对系统功能进行解耦和实现,也使用了不少如反射、代理、字节码等相关技术。如果你有......
  • 手写mybatis之数据源池化技术实现
    前言在上一章节我们解析了XML中数据源配置信息,并使用Druid创建数据源完成数据库的操作。但其实在Mybatis中是有自己的数据源实现的,包括无池化的UnpooledDataSource实现方式和有池化的PooledDataSource实现方式。你可以把池化技术理解为享元模式的具体实现方......
  • MyBatis 原理
    MyBatis原理  概要  MyBatis是一个持久层框架,用于将对象与数据库中的记录进行映射。它通过XML或注解的方式定义SQL语句并将结果映射到Java对象。  一、MyBatis原理  1.配置  MyBatis通过SqlSessionFactory加载配置文件(mybatis-config.xml),初......
  • 【02】手把手教你0基础部署SpringCloud微服务商城教学-Mybatis篇(下)
    上期回顾:【01】手把手教你0基础部署SpringCloud微服务商城教学-Mybatis篇(上)Part1.续接上文Mybatis-plus的批处理功能接下来我们学习一下IService的批量查询,我们用以往的for循环做一个对比这是for循环部分的代码privateUserbuilderUser(inti){Useruser=new......
  • Flutter布局(2):弹性布局(Flex、Expanded)
    一、什么是弹性布局(Flex)什么是弹性布局(Flex)?弹性布局(Flex)是一种基于弹性盒子模型的布局方式,类似于Web开发中的Flexbox。在Flutter中,Flex组件是用于实现弹性布局的关键组件之一。Flex布局是一种简洁且强大的方式,可用于构建水平或垂直方向的弹性布局。Flex组件可以沿着水平......
  • 一款Java CMS 网站管理系统,基于RuoYi-fast二次开发,网站后台采用SpringBoot + MyBati
    一款JavaCMS网站管理系统基于RuoYi-fast二次开发,网站后台采用SpringBoot+MyBatis文章目录前言一、开源地址二、环境要求三、功能亮点3.1扩展功能3.2内置功能四、安装方法4.1、拉取源码4.2、修改数据库链接配置4.3、创建数据库并导入数据4.4、配置资源上传......
  • Flexbox弹性盒子详解
    弹性盒子模型详解Flex弹性盒子模型详解Flex布局的基本概念Flex布局的常见属性及用法1.主轴方向2.主轴换行方式3.flex-flow(分开写更好)4.主轴对齐方式5.侧轴对齐方式5.1一行的情况5.2多行的情况6.伸缩性6.1flex-basis6.2flex-grow(伸)6.3flex-shrink(缩)7.flex复......
  • Java项目: 基于SpringBoot+mybatis+maven+vue健身房管理系统(含源码+数据库+毕业论文)
    一、项目简介本项目是一套基于SpringBoot+mybatis+maven+vue健身房管理系统包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。项目都经过严格调试,eclipse或者idea确保可以运行!该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用......
  • 如何使用MyBatis框架?
    MyBatis的基本信息     MyBatis本是apache的一个开源项目iBatis,后在2010年迁移到了googlecode,并且改名为MyBatis。后面迁移到Github。MyBatis是一个基于Java的数据持久层(ORM)框架。把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现。ORM对象关系映射,是......
  • [MyBatis-Plus]快速入门
    介绍MyBatis-Plus是MyBatis的好朋友,与MyBatis配合,实现开发效率的提高官网:特点:润物细无声:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑效率自上:只需简单配置,即可快速进行单表CRUD,从而节省大量时间功能丰富:代码生产,自动分页,逻辑删除......