在java项目中引入mybatis并完成基础配置的核心三步是:引入依赖、编写mybatis-config.xml、配置数据源与事务管理器;spring环境下推荐使用mybatis-spring自动装配,而非手动xml配置。

要在 Java 项目中引入 MyBatis 并完成基础配置,核心是三步:引入依赖、编写 mybatis-config.xml、配置数据源与事务管理器。Spring 环境下推荐用 Spring 整合 MyBatis(即 mybatis-spring),而非纯 XML 手动管理 SqlSessionFactory 和事务——这样更简洁、更符合现代实践。
引入 Maven 核心依赖
在 pom.xml 中添加以下依赖(以 Spring Boot 项目为例,若为传统 Spring 项目,版本需对齐):
-
mybatis-spring-boot-starter:自动装配 MyBatis,含mybatis和mybatis-spring -
spring-boot-starter-jdbc或具体数据库驱动(如mysql-connector-j) -
spring-boot-starter-transactions:启用声明式事务支持(默认已包含)
示例依赖片段:
<dependency><groupid>org.mybatis.spring.boot</groupid><artifactid>mybatis-spring-boot-starter</artifactid><version>3.0.3</version><!-- 适配 Spring Boot 3.x --></dependency><dependency><groupid>mysql</groupid><artifactid>mysql-connector-j</artifactid><scope>runtime</scope></dependency>
替代 mybatis-config.xml:用 application.yml 配置数据源与 MyBatis
Spring Boot 下不强制写 mybatis-config.xml。推荐将原 XML 中的配置迁移到 application.yml,更清晰且支持环境切换:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
<p>mybatis:
mapper-locations: classpath:mapper/*.xml
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl</p>
若仍需自定义 Configuration 行为(如插件、别名),可通过 @Configuration 类 + @Bean 注入 ConfigurationCustomizer 实现,无需硬编码 XML。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
事务管理器自动配置与使用
Spring Boot 会根据 classpath 自动配置 DataSourceTransactionManager(只要存在 DataSource)。你只需在 Service 方法上加 @Transactional 即可启用事务:
- 方法级事务:标注在 public 方法上,异常时自动回滚
- 传播行为、隔离级别等可通过注解参数定制(如
propagation = Propagation.REQUIRED) - 确保 Service 类由 Spring 容器管理(即被
@Service标记且成功注入)
不建议手动 new TransactionManager 或在 XML 中配置 transactionManager bean——Spring Boot 的自动配置已覆盖典型场景。
如果坚持用 mybatis-config.xml(非 Spring Boot 场景)
仅在纯 MyBatis + Spring(非 Boot)项目中才需显式配置该文件。此时需:
- 在
mybatis-config.xml中通过<environments></environments>指定transactionManager type="JDBC"或"MANAGED"(实际交由 Spring 管理时选MANAGED) - 在 Spring 配置中定义
SqlSessionFactoryBean,指定configLocation指向该 XML,并注入dataSource - 单独声明
DataSourceTransactionManagerbean,并在<annotation-driven></annotation-driven>中启用事务代理
这种方式配置冗长、易出错,新项目强烈建议采用 Spring Boot 自动装配方式。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










