全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 14 道配套习题

MyBatis 概述与环境搭建专题

专题说明

本专题引导初学者认识 MyBatis 框架,了解其核心设计理念,并掌握从零搭建开发环境到运行第一个 MyBatis 程序的完整流程。

学习目标

  1. 理解 MyBatis 框架的定位与核心优势
  2. 掌握 MyBatis 与 Hibernate 等 ORM 框架的区别
  3. 熟练使用 Maven 配置 MyBatis 开发环境
  4. 掌握 mybatis-config.xml 核心配置文件的创建
  5. 能够独立编写第一个 MyBatis 查询程序
  6. 理解 SqlSessionFactory 与 SqlSession 的作用与生命周期

学习内容

本专题涵盖以下知识点:

  • MyBatis 框架简介:半自动化 ORM 设计理念
  • MyBatis 与 Hibernate 的对比分析
  • 开发环境搭建:Maven 依赖配置、数据库驱动引入
  • Spring Boot 集成:mybatis-spring-boot-starter 使用
  • 第一个 MyBatis 程序:核心配置文件、Mapper XML、SqlSessionFactory 构建
  • SqlSession 的正确使用与资源管理

学习建议

  1. 先理解"半自动化"的设计理念,这是区别于 Hibernate 的核心特征
  2. 环境搭建时注意依赖版本的一致性
  3. 第一个程序建议完整手写,理解每个组件的作用
  4. SqlSession 不是线程安全的,务必注意每个线程创建自己的实例并及时关闭

📝 配套习题(14 题)

💡 参考答案在文末
判断题
1

MyBatis 核心配置文件(mybatis-config.xml)中各配置元素的顺序是固定的,不能随意调换。

A

B

2

MyBatis 的核心配置文件只能使用 XML 格式,不支持 Java 代码配置方式。

A

B

3

在 Maven 项目中引入 MyBatis 依赖时,mysql-connector-java 的 应该设置为 provided。

A

B

单选题
4

在 MyBatis 中,Mapper XML 文件的 namespace 属性应该设置为?

A

任意字符串,只要不重复即可

B

对应 Mapper 接口的全限定类名

C

数据库表名

D

SQL 语句的前缀

5

关于 MyBatis 与 Hibernate 的区别,以下描述正确的是?

A

MyBatis 是全自动 ORM 框架,Hibernate 是半自动框架

B

MyBatis 需要手动编写 SQL,Hibernate 自动生成 SQL

C

两者都是全自动 ORM 框架,没有本质区别

D

Hibernate 需要手动编写 SQL,MyBatis 自动生成 SQL

6

在 MyBatis 中,通过 SqlSession 获取 Mapper 接口的正确方式是?

A

new UserMapper()

B

sqlSession.getMapper(UserMapper.class)

C

sqlSession.newInstance(UserMapper.class)

D

MapperFactory.create(UserMapper.class)

7

关于 MyBatis 的缓存机制,以下描述正确的是?

A

一级缓存基于 SqlSessionFactory,二级缓存基于 SqlSession

B

一级缓存基于 SqlSession,二级缓存基于 namespace

C

一级缓存和二级缓存都基于 Mapper 接口

D

MyBatis 默认只开启二级缓存,一级缓存需要手动开启

8

SqlSession 对象是线程安全的,可以在多个线程中共享使用。

A

创建 mybatis-config.xml 核心配置文件

B

创建 Mapper XML 映射文件

C

创建 SqlSessionFactory 对象

D

直接使用 JDBC 执行 SQL

多选题
9

MyBatis 核心配置文件(mybatis-config.xml)中通常包含以下哪些配置元素?

A

数据源环境配置

B

映射文件路径配置

C

依赖管理配置

D

类型别名配置

10

在 MyBatis 开发环境搭建过程中,配置日志(如 log4j、logback)的主要作用有哪些?

A

查看执行的 SQL 语句

B

查看 SQL 参数绑定信息

C

查看数据库连接池状态

D

查看 MyBatis 内部调试信息

11

在编写第一个 MyBatis 程序时,以下哪些做法是推荐的?

A

SqlSession 使用完毕后立即调用 close() 方法

B

将 SqlSessionFactory 定义为全局静态变量

C

在多线程环境中共享同一个 SqlSession 实例

D

使用 try-with-resources 或 try-finally 确保资源释放

12

以下哪些场景适合使用 MyBatis 框架?

A

需要精细控制 SQL 语句的复杂查询场景

B

简单的 CRUD 操作且表结构简单的项目

C

对性能要求高、需要优化 SQL 的场景

D

完全不希望编写任何 SQL 的项目

填空题
13

MyBatis 的前身是____________,最初由____________软件基金会管理,后来迁移到____________,更名为 MyBatis。

14

MyBatis 程序的标准执行流程是:首先通过____________创建 SqlSessionFactory,然后由 SqlSessionFactory 创建____________,最后通过 SqlSession 获取____________接口执行数据库操作。

参考答案
1.正确 2.错误 3.错误 4.B 5.B 6.B 7.B 8.错误 9.A;B;D 10.A;B;D 11.A;B;D 12.A;B;C 13.iBatis;Apache;GitHub 14.SqlSessionFactoryBuilder;SqlSession;Mapper
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
下一个专题 → SQL 映射文件基础专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码