SpringBoot项目中遇到的问题

导读:本篇文章讲解 SpringBoot项目中遇到的问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1:首先是用户编辑问题,点击编辑出现弹窗以后,还没有点确定就数据已经修改了:

请添加图片描述
请添加图片描述

这里我们这样改:

请添加图片描述

     this.form = Object.assign({},row)   //解决还没有点确定就已经数据改变的问题

2:怎样使得查询时在前端的返回数据类型中既有data数据也有count总数?:

请添加图片描述

首先,在后端我们将service中的全部用户查询方法的返回类型写成Hashmap,请添加图片描述

这样就可以添加两个对象

3:怎样实现分页?

首先后端,我们写的分页查询方法,先默认给两个传参:

请添加图片描述

然后前端,使用element插件:

先默认给一个值:请添加图片描述

pageNum代表第几页,pageSize代表每一页有几个,pageIndex代表开始展示的数据下标

请添加图片描述

4:Swagger的配置

springboot在配置Swagger的时候对于版本控制比较严格,springboot2.6之前是使用Swagger2,2.6以后使用Swagger3,我这里说一下怎样配置Swagger3:

依赖:

    <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
    </dependency>

配置类:

package com.example.demo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;


@EnableOpenApi
@Configuration
public class SwaggerConfig {
    /**
     * 创建API应用
     * apiInfo() 增加API相关信息
     * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
     * 本例采用指定扫描的包路径来定义指定要建立API的目录。
     *
     * @return
     */
    @Bean
    public Docket restApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("标准接口")
                .apiInfo(apiInfo("Spring Boot中使用Swagger2构建RESTful APIs", "1.0"))
                .useDefaultResponseMessages(true)
                .forCodeGeneration(false)
                .select()
                //扫描哪个包
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    /**
     * 创建该API的基本信息(这些基本信息会展现在文档页面中)
     * 访问地址://访问地址http://localhost:8084/swagger-ui/index.html
     *
     * @return
     */
    private ApiInfo apiInfo(String title, String version) {
        return new ApiInfoBuilder()
                .title("项目标题")
                .description("更多请关注")
                .termsOfServiceUrl("")
                .contact(new Contact("", "", ""))
                .version(version)
                .build();
    }
}


.yml配置:

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

请添加图片描述
请添加图片描述

5:在.properties文件里面需要用unicode编码!

6:数据库中有一个字段叫:create_time ,我们在springboot项目里面实体类怎么开启驼峰命名使得实体类中的createTime与其对应?

请添加图片描述

  mybatis.configuration.mapUnderscoreToCamelCase=true


mybatis.configuration.map-underscore-to-camel-case=true

7:关于mybatis模糊查询:有五种方式:

1:

  • 步骤一:编写配置文件

在这里插入图片描述

  • 步骤二:测试

  • 在这里插入图片描述
    • 步骤三:分析 此种方式需要在调用处手动的去添加“%”通配符。

2:(极为推荐,可以防止sql注入)

在这里插入图片描述

3:

在这里插入图片描述

总结:

  • #{ }是预编译处理,MyBatis在处理#{ }时,它会将sql中的#{ }替换为?,然后调用PreparedStatement的set方法来赋值,传入字符串后,会在值两边加上单引号,使用占位符的方式提高效率,可以防止sql注入。
  • ${}:表示拼接sql串,将接收到参数的内容不加任何修饰拼接在sql中,可能引发sql注入。

8:@PathVariable,@RequestParam,@RequestBody区别:

请添加图片描述
请添加图片描述
请添加图片描述

9:docker 部署的时候出现了这个问题:user declined directory sharing Creating xxxx

请添加图片描述

解决办法

在Docker for Windows 应用程序中更新文件共享配置(2.2.0.0 中有一个新的安全强化,具有激进的默认值), 添加需要的所有文件夹(也就是项目文件夹),然后重新启动 Docker for Windows即可。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/80983.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!