项目启动的基本配置

开启驼峰命名

  • 如果字段名与属性名符合驼峰命名规则,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。这意味着如果请求中没有提供该参数,将会抛出异常。
相关推荐
We་ct3 分钟前
LeetCode 295. 数据流的中位数:双堆解法实战解析
开发语言·前端·数据结构·算法·leetcode·typescript·数据流
十年编程老舅5 分钟前
窥探内核心脏:深入解析 proc 虚拟文件系统
linux·服务器·数据库·c++·linux内核·文件系统·读写锁
青槿吖6 分钟前
第一篇:Redis集群从入门到踩坑:3主3从保姆级搭建+核心原理一次性讲透|面试必看
前端·redis·后端·面试·职场和发展·bootstrap·html
迷藏4947 分钟前
**雾计算中的边缘智能:基于Python的轻量级任务调度系统设计与实现**在物联网(IoT)飞速发展的今天,传统云
java·开发语言·python·物联网
LSL666_9 分钟前
云服务上安装nginx
java·运维·nginx
biubiubiu070612 分钟前
从 Python 和 Node.js 的流行看 Java 的真实位置
java·python·node.js
美狐美颜sdk16 分钟前
2026主流直播美颜sdk对比:效果、算法与成本分析
前端·人工智能·计算机视觉·美颜sdk·直播美颜sdk·第三方美颜sdk·视频美颜sdk
我是大猴子17 分钟前
队列的一些场景题以及处理方式
java
大江东去浪淘尽千古风流人物17 分钟前
【Basalt】Basalt void SqrtKeypointVioEstimator<Scalar_>::optimize() VIO优化流程
数据库·人工智能·python·机器学习·oracle
王霸天18 分钟前
🚨 还在用 rem) 做大屏适配?用 vfit.js 一键搞定,告别改稿8版的噩梦!
前端·vue.js·数据可视化