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