保姆级SpringBoot整合Mybatis详细步骤(IDEA版本)

本文是一篇针对初学者的指南,详细介绍了如何在IDEA中使用SpringInitializr搭建SpringBoot结合Mybatis的项目。从环境配置、项目创建、依赖添加、配置运行到简单测试,每个步骤都有清晰的截图和说明,帮助读者快速上手。

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

前言

    初学IDEA搭建SpringBoot+mybatis框架的时候,被恶心过一阵子,这篇文章送给和我一样正在这条路上的朋友


目录

一、使用环境

二、搭建步骤

三、配置运行

四、简单测试


一、使用环境

环境:IDEA2018、Mysql5.7、SpringBoot2.4.1、JDK1.8.0_71

二、搭建步骤

1. 创建项目,如下图

2. 选择Spring Initializr

注意:这里的Project SDK使用你自己安装好的JDK(比如我安装的是JDK1.8.0_71),然后点击Next

3. 创建项目包名,根据你的需求自定义

注意:Java Version要使用与我们上一步选择的JDK是同版本,所以这里我们选择8,最后点击Next

4. 选择依赖

5. 依赖添加完以后,点击Next,最后点击Finish即可

6. Maven更新

注意:出现图中右下角的弹窗(没有出现就不用管),意思是提醒你下载依赖,点击Import Changes就好了。由于Maven是国外的镜像,所以更新可能会比较慢(除非使用科学上网)。可以看我的另一篇文章,Maven镜像修改之阿里云镜像(IDEA版本),非常好用。

三、配置运行

1. 基本结构

注意:controller、mapper、model、service、impl包和resources目录下的mapper文件需要自己创建

resources目录下的mapper文件不知道怎么创建的看这里

2. 修改application.properties配置信息

# 数据源配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# mybatis配置
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
mybatis.type-aliases-package=com.example.demo.model

3. 依赖文件pom.xml讲解

pom.xml文件用于存放我们添加的依赖项,Maven会根据我们的依赖项,去指定的镜像下载依赖包。这里只是展示出来,不需要修改。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!-- 父项目,也就是SpringBoot,我们要用他的东西,就要继承它 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <!-- 项目组织的唯一标识符 :对应JAVA的包的结构,是main目录里java的目录结构-->
    <groupId>com.example</groupId>
    <!-- 项目的唯一标志:项目名-->
    <artifactId>demo</artifactId>
    <!-- 项目的版本号(可自定义)-->
    <version>0.0.1-SNAPSHOT</version>
    <!-- 让用户更加能够接受的项目名 -->
    <name>demo</name>
    <!-- 关于你的项目的描述 -->
    <description>Demo project for Spring Boot</description>

    <!-- 项目的基本属性配置 -->
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <!-- 项目的依赖结构,所有你要用到的依赖都在这里面 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- 构建设置,主要包含两个部分:plugins设置构建的插件和resources排除或者删除资源文件 -->
    <build>
        <!--使用的插件列表  此处直接用父项目的plugins-->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

4. 启动类DemoApplication

注意:DemoApplication类需要放在com.example.demo这个包下(项目创建以后,不要去改动这个类的位置),否则程序会找不到启动类。最好是按照SpringBoot的要求来,除非你有特殊的需求要更换启动类的位置。

右键DemoApplication,并且点击Run 'DemoApplication'即可启动项目了

控制台出现下面红色方框内的提示,表示启动成功

四、简单测试

1. 准备工作

1.1 数据库中创建一个表

CREATE TABLE `user` (
  `id` int(32) NOT NULL AUTO_INCREMENT,
  `name` varchar(32),
  `age` int
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

1.2 在model包下新建User类

public class User {
    private String id;
    private String name;
    private Integer age;

    public User() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

1.3 在mapper包下创建UserMapper接口

@Repository
public interface UserMapper {
    User getUserById(String userId);
}

1.4 在service包下创建UserService接口

public interface UserService {
    User getUserById(String userId);
}

1.5 impl包下创建UserServiceImpl实现类

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public User getUserById(String userId) {
        return userMapper.getUserById(userId);
    }
}

1.6 在资源文件: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.example.demo.mapper.UserMapper">

    <resultMap id="BaseResultMap" type="com.example.demo.model.User">
        <result column="id" jdbcType="VARCHAR" property="id" />
        <result column="name" jdbcType="VARCHAR" property="name" />
        <result column="age" jdbcType="INTEGER" property="age" />
    </resultMap>

    <select id="getUserById" resultType="com.example.demo.model.User">
        select * from user where id = #{id}
    </select>

</mapper>

1.7 在controller包下创建UserController类

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("getUser/{id}")
    public String getUser(@PathVariable String id){
        return userService.getUserById(id).toString();
    }
}

1.8 最后,最重要也是大家最容易忽视的一步:为启动类加上扫描注解

2 启动测试

访问之前,请给你的user表插入一条数据

浏览器输入 localhost:8080/user/getUser/1,得到结果:

 

不出意外的话,我相信你也运行成功了,麻烦各位老板+帅哥点个赞吧 ^.^

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值