跳至主要內容
MyBatis 面试

MyBatis 面试

【简单】MyBatis 中 #{} 和 ${} 的区别是什么?

MyBatis 中 #{}${} 的区别对比

特性 #{}(预编译占位符) ${}(字符串拼接)
底层原理 使用 PreparedStatement,生成带 ? 的 SQL,预编译防止注入。 直接拼接字符串到 SQL 中,无参数化处理。
SQL 注入风险 ❌ 安全(自动转义特殊字符)。 ✔️ 高风险(需手动过滤参数)。
适用场景 动态条件值(如 WHERE id = #{value})。 动态表名、列名(如 ORDER BY ${column})。
数据类型处理 自动识别 Java 类型,匹配 JDBC 类型(如 DateTIMESTAMP)。 原样替换,可能导致语法错误(如字符串未加引号)。
性能 预编译 SQL 可复用,高效。 每次生成新 SQL,效率较低。
示例 xml SELECT * FROM user WHERE name = #{name} xml SELECT * FROM ${tableName}

钝悟...大约 7 分钟Java框架ORMJava框架ORMMyBatis
《极客时间教程 - 玩转 Spring 全家桶》笔记

《极客时间教程 - 玩转 Spring 全家桶》笔记

第一章:初识 Spring (4 讲)

01 | Spring 课程介绍

02 | 一起认识 Spring 家族的主要成员

Spring Framework - 用于构建企业级应用的轻量级一站式解决方案

Spring Boot - 快速构建基于 Spring 的应用程序

Spring Cloud - 简化分布式系统的开发

03 | 跟着 Spring 了解技术趋势

04 | 编写你的第一个 Spring 程序


钝悟...大约 29 分钟笔记JavaJava框架SpringSpringBootSpringCloud
Spring MVC 之视图技术

Spring MVC 之视图技术

Spring MVC 中视图技术的使用是可插拔的。无论决定使用 Thymeleaf、Groovy 等模板引擎、JSP 还是其他技术,都可以通过配置来更改。

Spring MVC 的视图位于该应用程序的内部信任边界内。 视图可以访问应用程序上下文的所有 bean。 因此,不建议在模板可由外部源编辑的应用程序中使用 Spring MVC 的模板支持,因为这可能会产生安全隐患。

Thymeleaf

Thymeleaf 是一个现代服务器端 Java 模板引擎,它强调自然的 HTML 模板,可以通过双击在浏览器中预览,而无需运行服务器,这对于 UI 模板的独立工作(例如,由设计师)非常有帮助。


钝悟...大约 20 分钟Java框架SpringSpringWebJava框架SpringWebView
Spring MVC 之跨域

Spring MVC 之跨域

Spring MVC 支持跨域处理(CORS)。

简介

出于安全原因,浏览器禁止对当前源之外的资源进行 AJAX 调用。例如,可以在一个选项卡中使用您的银行帐户,而在另一个选项卡中使用 evil.com。来自 evil.com 的脚本不应该能够使用您的凭据向您的银行 API 发出 AJAX 请求——例如从您的账户中取款!


钝悟...大约 5 分钟Java框架SpringSpringWebJava框架SpringWebCORS
Spring Web 应用

Spring Web 应用

Spring MVC 提供了一种基于注解的编程模型,@Controller@RestController 组件使用注解来表达请求映射、请求输入、异常处理等。注解控制器具有灵活的方法签名,并且不必扩展基类或实现特定接口。以下示例显示了一个由注解定义的控制器:

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String handle(Model model) {
        model.addAttribute("message", "Hello World!");
        return "index";
    }
}

钝悟...大约 23 分钟Java框架SpringSpringWebJava框架SpringWebController
Spring MVC 之 DispatcherServlet

Spring MVC 之 DispatcherServlet

简介

DispatcherServlet 是 Spring MVC 框架的核心组件,负责将客户端请求映射到相应的控制器,然后调用控制器处理请求并返回响应结果

DispatcherServlet 工作原理

DispatcherServlet 工作流程

DispatcherServlet 的工作流程大致如下图所示:

img
img

钝悟...大约 26 分钟Java框架SpringSpringWebJava框架SpringWebDispatcherServlet
Spring Data 综合

Spring Data 综合

Spring Data Repository 抽象的目标是显著减少各种访问持久化存储的样板式代码。

核心概念

Repository 是 Spring Data 的核心接口。此接口主要用作标记接口,以捕获要使用的类型并帮助您发现扩展此接口的接口。CrudRepositoryListCrudRepository 接口为被管理的实体类提供复杂的 CRUD 功能。ListCrudRepository 提供等效方法,但它们返回 List,而 CrudRepository 方法返回 Iterable


钝悟...大约 7 分钟Java框架SpringSpring数据Java框架SpringSpringBoot
2
3
4
5
...
8