mybatis面试题2020最新版
时间: 2025-02-25 07:25:01 浏览: 40
### 2020年最新MyBatis面试题汇总
#### MyBatis基础概念
MyBatis是一个支持自定义SQL查询、存储过程和高级映射的优秀持久层框架[^1]。
#### SQL注入预防机制
当使用`#{}`语法时,MyBatis会自动将占位符替换为预编译语句中的问号(`?`),并通过调用PreparedStatement相应类型的setter方法来设置参数值。这种方式有效防止了SQL注入攻击的发生。
#### 动态SQL构建方式
通过OGNL表达式可以灵活地控制条件判断逻辑,在XML配置文件内编写动态SQL片段,从而提高代码复用性和可维护性[^2]。
#### 缓存策略理解
一级缓存默认开启,作用范围仅限于同一个SqlSession生命周期;而二级缓存则需手动启用并配置,适用于跨多个SqlSession共享数据场景下提升性能表现[^3]。
#### 关联关系映射技巧
对于一对多或多对一这样的复杂关联结构,利用resultMap标签下的collection或association子元素能够很好地完成对象间的关系建模工作。
```xml
<resultMap id="userRoleResult" type="User">
<id property="userId" column="user_id"/>
<!-- other properties -->
<collection property="roles" ofType="Role">
<id property="roleId" column="role_id"/>
<!-- role's attributes mapping here -->
</collection>
</resultMap>
```
阅读全文
相关推荐















