Mybatis入门(SpringBoot项目,快速上手)

本文介绍了Mybatis入门的基础知识,包括SqlSessionFactory和SqlSession的核心组件,以及MyBatis的主配置文件和Mapper接口。文章详细阐述了在SpringBoot项目中如何进行环境搭建,如导入Maven依赖和配置properties文件,并展示了如何创建实体类、Mapper接口和Mapper映射文件。最后提到了可能出现的开发报错及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis入门(SpringBoot项目,快速上手)

简介

核心组件

  • SqlSessionFactory:用于创建SqlSession的工厂类。

  • SqlSession:MyBatis的核心组件,用于向数据库执行SQL。

  • 主配置文件:XML配置文件,可以对MyBatis的底层行为做出详细的配置。

  • Mapper接口:就是DAO接口,在MyBatis中习惯性的称之为Mapper。

  • Mapper映射器:用于编写SQL,并将SQL和实体类映射的组件,采用XML、注解均可实现。

注意: 实际开发只需要注意4、5点,Spring整合了1、2、3

MyBatis官网
整合官网
两个官网均有中文版本比较友好。

环境搭建

搭建环境引入的Maven坐标是从网站引入,选择的是使用人数最多的版本
mvnrepository

导入依赖

<!--mysql数据库连接依赖-->
<dependency>
	<groupId>com.mysql</groupId>
	<artifactId>mysql-connector-j</artifactId>
	<version>8.0.33</version>
</dependency>
<!--SpringBoot整合Mybatis-->
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>2.3.0</version>
</dependency>

properties文件配置

# DataSourceProperties
# 连接池/数据源 统一初始化一批连接 限制访问上线
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/community?characterEncoding=utf-8&useSSL=false&serverTimezone=Hongkong
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=30000

# MybatisProperties
mybatis.mapper-locations=classpath:mapper/*.xml
# 声明实体类包的包名,在mapper映射文件中不用写全类名了
mybatis.type-aliases-package=com.campus.community.entity
# 启用自动主键自增
mybatis.configuration.useGeneratedKeys=true
# 下划线和驼峰命名方式自动匹配
mybatis.configuration.mapUnderscoreToCamelCase=true

注意: 配置文件中,对连接池的配置只需要注意数据库版本 (8和5的版本对于spring.datasource.driver-class-namespring.datasource.url需求不一样),和连接数据库名字,对于MyBatis的配置可以仔细看一下注释。

开发

  1. 创建实体类
  • 实体类属性名和数据库字段一一对应,可以使用驼峰命名法(在配置文件中mybatis.configuration.mapUnderscoreToCamelCase=true消除了由于数据库和Java语言命名规范的问题),生成 Getter And Setter 方法、设置有参、无参构造器。
  1. 创建Mapper接口包
  • 创建一个专门的包来存放所有Mapper接口文件,注意添加注解@Repository/@Mapper两个注解均可以,前者是Spring的注解,后者是MyBatis的注解,通常习惯使用@Mapper
  1. 创建Mapper映射包
  • 由于是SpringBoot项目,此处是可以直接在Resources下新建Mapper包来存放xml映射文件就可以了(ssm项目下需要手动创建和Mapper接口包同样的路径的包,创建时用 " / " 代替 " . ",可以通过检查编译后的文件,查看接口和xml文件是否在同一目录)。
  • xml映射文件有固定格式,建议自己在IDEA中保留一个模板。
  • 需要修改namespace的一个路径,填写相对应的Mapper接口全类名。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
</mapper>
  1. 在Controller里注入Mapper接口即可使用,Mapper映射文件里面的SQL
    @Autowired
    UserMapper userMapper;

报错

org/mybatis/spring/boot/autoconfigure/MybatisDependsOnDatabaseInitializationDetector has
 been compiled by a more recent version of the Java Runtime (class file version 61.0), 
 this version of the Java Runtime only recognizes class file versions up to 52.0

一般是版本问题,要不是Java版本过低,要不是MyBatis整合的版本过高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值