SpringBoot - 整合 Mybatis 框架

本文详细介绍了如何使用SpringBoot框架与MyBatis进行整合,包括搭建项目骨架、数据库表设计、实体类创建、Mapper接口及XML配置、Controller层编写等步骤,最后通过实例演示了查询所有用户数据的过程。

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

一. 搭建 SpringBoot 骨架 

1. 通过 Spring Intializr 快速搭建 SpringBoot 骨架 

2. 修改 pom 文件中依赖的继承包版本为 2.0.1

<!-- 所有的 springboot 工程都必须继承 spring-boot-starter-parent -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
</parent>

3. 添加其他相关依赖

<!-- mybatis 起步依赖-->
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.1.1</version>
</dependency>
<!-- MySQL 连接驱动 -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>

二. 数据库中创建 User 表

CREATE DATABASE IF NOT EXISTS spring_boot;
USE spring_boot;

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) DEFAULT NULL,
`gender` VARCHAR(50) DEFAULT NULL,
`age` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES ('1', '张三', '男', '18');
INSERT INTO `user` VALUES ('2', '李四', '女', '16');

三. 创建对应实体封装类

public class User implements Serializable {

    private Integer id;
    private String name;
    private String gender;
    private String age;

    // getter/setter 方法略....

}

四. 编写 Mapper

在 java/com/cast/mapper 下创建 UserMapper 接口

@Mapper
public interface UserMapper {

    //查询全部
    public List<User> userList();

}

五. 编写操作数据库的 sql 配置文件

在 resources/mapper 下创建 UserMapper.xml

<?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="com.cast.mapper.UserMapper">
    <select id="userList" resultType="user">
        select * from user
    </select>
</mapper>

六. 配置连接数据库的相关信息和实体类及映射文件的相关信息

#数据库连接信息
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring_boot?useUnicode=true&characterEncoding=utf8
spring.datasource.username=数据库用户名
spring.datasource.password=数据库密码

# spring 集成 Mybatis 环境
# pojo 别名扫描包
mybatis.type-aliases-package=com.cast.domain
#加载 Mybatis 映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

七. 编写 controller 层 

@Controller
public class MybatisController {

    @Autowired
    private UserMapper userMapper;

    @RequestMapping("/findAll")
    @ResponseBody
    public List<User> queryUserList(){
        List<User> users = userMapper.userList();
        return users;
    }

}

测试

1. 启动 SpringbootMybatisApplication,

2. 在浏览器输入 http://localhost:8080/findAll 

显示数据库中结果:

 

 

源代码下载: https://pan.baidu.com/s/1CwrtYMJ64IfW6_YSKAPbYA

 

### SpringBoot 整合 MyBatis 框架 SQL 示例教程 #### 添加依赖项 为了使Spring Boot项目能够与MyBatis框架顺利整合并执行SQL操作,需在`pom.xml`文件中加入必要的依赖项。除了Spring Boot自带的JDBC支持外,还需引入由MyBatis官方提供的启动器。 ```xml <dependencies> <!-- JDBC --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- MyBatis Starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> </dependencies> ``` 上述代码展示了如何通过Maven来管理这些依赖关系[^2]。 #### 配置Application Properties 接着,在项目的资源目录下找到或创建名为`application.yml`(或`.properties`)的应用程序配置文件,并设置MyBatis的相关参数: ```yaml # application.yml mybatis: mapper-locations: classpath:mapper/*.xml # 映射XML文件的位置 type-aliases-package: com.example.demo.domain # 实体类所在的包名 ``` 此部分配置指定了Mapper XML文件所在位置以及实体类对应的Java包名称[^4]。 #### 创建Entity Class (实体类) 定义一个简单的用户实体类作为例子,假设该表结构已存在于数据库之中。 ```java package com.example.demo.domain; public class User { private Integer id; private String name; private int age; // Getters and Setters... } ``` #### 编写Mapper Interface 和 Mapper XML 文件 接下来编写接口形式的数据访问层——即Mapper接口;同时准备相应的Mapper XML文档用于描述具体的查询逻辑。 **UserMapper.java** ```java package com.example.demo.mapper; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface UserMapper { List<User> selectAllUsers(); void insertUser(User user); } ``` **resources/mapper/UserMapper.xml** ```xml <?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="com.example.demo.mapper.UserMapper"> <select id="selectAllUsers" resultType="com.example.demo.domain.User"> SELECT * FROM users ORDER BY id ASC </select> <insert id="insertUser" parameterType="com.example.demo.domain.User"> INSERT INTO users(name,age) VALUES(#{name}, #{age}) </insert> </mapper> ``` 这里分别给出了两个方法:一个是获取全部用户的列表,另一个则是向users表里新增一条记录[^1]。 #### Service Layer Implementation 最后一步是在服务层实现业务逻辑处理功能,通常会调用之前编写的DAO/Mapper完成数据存取工作。 ```java @Service public class UserServiceImpl implements UserService{ @Autowired private UserMapper userMapper; public List<User> getAllUsers(){ return this.userMapper.selectAllUsers(); } public boolean saveNewUser(User newUser){ try{ this.userMapper.insertUser(newUser); return true; }catch(Exception e){ logger.error(e.getMessage()); return false; } } } ``` 以上就是基于Spring Boot平台集成MyBatis框架的一个基本流程介绍及其简单应用案例说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值