项目启动的基本配置

开启驼峰命名

  • 如果字段名与属性名符合驼峰命名规则,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。这意味着如果请求中没有提供该参数,将会抛出异常。
相关推荐
小同志00几秒前
⽅法注解 @Bean
java·spring·bean·maven
oscar9993 分钟前
OpenCode终端界面
数据库·tui·opencode
Ting.~4 分钟前
GIT详解
java·笔记·git
m0_676544387 分钟前
MySQL数据库迁移后如何测试数据可读性_进行简单查询验证.txt
jvm·数据库·python
weixin_458580129 分钟前
C#怎么实现定时任务 C#如何用Timer和Quartz.NET创建定时执行的后台任务【技巧】
jvm·数据库·python
人道领域10 分钟前
【LeetCode刷题日记】239.滑动窗口最大值:单调队列解法(困难)
java·开发语言·算法
wuxinyan12312 分钟前
Java面试题53:一文深入了解RAG(检索增强生成)核心概念
java·人工智能·机器学习·面试·rag
常利兵14 分钟前
安卓启动页Logo适配秘籍:告别“奇形怪状”的展示
android·java·开发语言
User_芊芊君子14 分钟前
从零入门!MySQL 约束、范式设计与联合查询核心精讲
数据库·人工智能·mysql
菜鸟小码14 分钟前
MapReduce 核心阶段深度解析:Map 阶段与 Reduce 阶段的作用及执行流程
前端·javascript·mapreduce