项目启动的基本配置

开启驼峰命名

  • 如果字段名与属性名符合驼峰命名规则,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.yml或application.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注解,该参数必须传递,因为默认required为true。这意味着如果请求中没有提供该参数,将会抛出异常。
相关推荐
AC赳赳老秦1 分钟前
公开音频转写信息提取:OpenClaw 处理发布会与听证会文本并提取核心决策信息
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw
弈栈录13 分钟前
Java AI 应用的异步化与高并发设计
java·后端·架构
Mr_Mao18 分钟前
告别选型困难!集 VueUse、ahooks、Mantine 于一身:286 个 Hook 的 ReaUse 来了
前端·javascript·react.js
老纪的技术唠嗑局19 分钟前
异步索引特性解析:OceanBase 如何提升持续写入场景下的索引检索性能
数据库
老纪的技术唠嗑局24 分钟前
Tibo 谈 Codex:harness 总比模型快一步
数据库·人工智能
落魄实习生26 分钟前
Agent Scope Java 2.x 系列【2】 ReActAgent
java·开发语言
艸肅38 分钟前
Ubuntu 安装 JDK (含手动安装)
java·ubuntu·jdk
猫咪宝妖42 分钟前
信息安全工程师 第四级 结构化保护级
网络·数据库·安全
m0_734172421 小时前
Python字典计数怎样处理首次出现的键
java
Andreapiki1 小时前
风险审计校招技术栈拆解:SQL、Python、Power BI在2026届JD中的真实权重
数据库·python·sql