项目启动的基本配置

开启驼峰命名

  • 如果字段名与属性名符合驼峰命名规则,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。这意味着如果请求中没有提供该参数,将会抛出异常。
相关推荐
哈基米喜欢哈哈哈9 分钟前
Kafka复制机制
笔记·分布式·后端·kafka
君不见,青丝成雪27 分钟前
SpringBoot项目占用内存优化
java·spring boot·后端
这周也會开心38 分钟前
SQL-重要常见关键字
数据库·sql
一叶飘零_sweeeet39 分钟前
如何避免MyBatis二级缓存中的脏读
java·redis·mybatis
Trust yourself2431 小时前
IDEA控制台乱码(Tomcat)解决方法
java·tomcat·intellij-idea
再学一点就睡1 小时前
深入理解 Redux:从手写核心到现代实践(附 RTK 衔接)
前端·redux
追逐时光者1 小时前
一个 .NET 开源、功能强大的在线文档编辑器,类似于 Microsoft Word,支持信创!
后端·.net
##学无止境##1 小时前
解锁Java分布式魔法:CAP与BASE的奇幻冒险
java·开发语言·分布式
超级无敌永恒暴龙战士1 小时前
MySQL-delete tableName from ...
数据库·mysql