项目启动的基本配置

开启驼峰命名

  • 如果字段名与属性名符合驼峰命名规则,MyBatis会自动通过驼峰命名规则映射。

application.yml配置文件中,可以添加以下配置来开启驼峰命名规则:

复制代码
mybatis:
  configuration:
    map-underscore-to-camel-case: true

这段配置的作用是告诉MyBatis在处理数据库字段和Java对象属性之间的映射时,自动将使用下划线命名的字段(例如create_time)转换为驼峰命名的属性(例如createTime)。这可以减少在Mapper XML 文件中手动设置<resultMap>元素的工作量,使得代码更加简洁。


1. Mybatis默认数据封装的规则?

  • 实体类属性名和数据库表的字段名一致,MyBatis会自动封装。

2. 如果字段名与实体类属性名不一致,如何解决?

  • 手动结果映射 @Results@Result
  • 起别名
  • 开启驼峰命名开关(要求:xxx_abc -> xxxAbc

在MyBatis中,如果数据库表的字段名与实体类的属性名不一致,可以采取以下方法解决:

  1. 手动结果映射 :使用@Results@Result注解在Mapper接口中手动指定字段与属性的映射关系。

  2. 起别名 :在SQL查询中使用AS关键字为字段指定别名,使其与实体类的属性名一致。

  3. 开启驼峰命名开关 :在application.ymlapplication.properties中配置map-underscore-to-camel-case属性为true,这样MyBatis会自动将数据库字段名从下划线命名转换为驼峰命名,例如将create_time转换为createTime


1. 什么是反向代理?

  • 反向代理是一种网络架构技术,通过反向代理服务器为后端服务器做代理(安全、灵活、负载均衡)。

2. Nginx中反向代理的配置?

复制代码
location ^~ /api/ {
    rewrite ^/api/(.*)$ /$1 break;
    proxy_pass http://localhost:8080;
}
  • location:定义路径匹配方式。
  • rewrite:路径重写指令,用于修改请求的URI。
  • proxy_pass:代理转发指令,指定请求转发到的目标地址。

这段配置的作用是将所有以/api/开头的请求重写为以/开头,然后代理到本地的8080端口。这样,外部请求/api/下的服务实际上会被转发到本地服务上。这种配置常用于微服务架构中,用于服务间的通信。


1. 简单参数接收方式

  • 方式一 :通过原始的HttpServletRequest对象获取

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

复制代码
 这里,`xxx`是参数名,通过`getParameter`方法从请求中获取参数值。

- **方式二**:通过`@RequestParam`注解进行参数绑定
 ```java
public Result del(@RequestParam("id") Integer deptId) {}

这里,@RequestParam注解用于将请求参数绑定到方法的参数上。如果参数名与方法参数名一致,@RequestParam注解可以省略。

  • 方式三:保证请求参数名与形参变量名相同,直接接收(推荐) 这种方式最简单,直接通过方法参数名接收请求参数。

2. 注意事项

  • 一旦加了@RequestParam注解,该参数必须传递,因为默认requiredtrue。这意味着如果请求中没有提供该参数,将会抛出异常。
相关推荐
G探险者26 分钟前
从 Tomcat 与 Jetty 的对比,聊聊影响一个服务并发能力的关键因素
后端
清羽_ls35 分钟前
React Hooks 核心规则&自定义 Hooks
前端·react.js·hooks
你的人类朋友41 分钟前
“签名”这个概念是非对称加密独有的吗?
前端·后端·安全
西陵1 小时前
Nx带来极致的前端开发体验——任务缓存
前端·javascript·架构
南尘NCA86661 小时前
企业微信防封防投诉拦截系统:从痛点解决到技术实现
java·网络·企业微信
倔强的石头_1 小时前
Navicat Premium 与金仓数据库融合实践:高效管理国产数据库新方案
数据库
幼稚园的山代王1 小时前
go语言了解
开发语言·后端·golang
kkjt01301 小时前
{MySQL查询性能优化索引失效的八大场景与深度解决方案}
后端
程序新视界1 小时前
为什么要尽量将MySQL表字段要设置为NOT NULL?
数据库·mysql·dba
怪兽20142 小时前
SQL优化手段有哪些
java·数据库·面试