目录
1. 简介
本博客将详细介绍在idea中,如何整合springboot与mybatis,以实现数据库的增删改查操作。我将逐步从环境搭建到实际代码实现的完整流程,帮助读者更好地理解并掌握这一技术栈。
2. 创建springboot项目
首先,我们需要创建springboot项目。在创建springboot项目时,可以选择使用spring initializr来快速生成项目结构。
3. maven依赖引入
首先,你需要在你的pom.xml文件中添加spring boot和mybatis的依赖,对于maven,添加以下依赖:

        <!-- mybatis spring boot starter  -->
        <dependency>
            <groupid>org.mybatis.spring.boot</groupid>
            <artifactid>mybatis-spring-boot-starter</artifactid>
            <version>2.2.2</version>
        </dependency>
        <!-- junit测试依赖 -->
        <dependency>
            <groupid>junit</groupid>
            <artifactid>junit</artifactid>
            <scope>test</scope>
        </dependency>
        <!-- lombok依赖 为了简化实体类的编写代码量 -->
        <dependency>
            <groupid>org.projectlombok</groupid>
            <artifactid>lombok</artifactid>
        </dependency>
        <!-- 数据库连接驱动,这里以mysql为例 -->
        <dependency>
            <groupid>mysql</groupid>
            <artifactid>mysql-connector-java</artifactid>
        </dependency>4. 创建mapper文件夹
需要在java包和resources包下各创建一个文件夹,来存放mapper接口和mapper.xml文件。

5. 数据源和mybatis配置
在resources目录下新建application.properties文件,用于存放数据库连接需要的一些配置数据(一般在新建springboot项目都会自动生成该文件),也可以新建application.yml文件,不过格式得转换,此处作者以properties文件进行讲解:
- spring.datasource.url:这是spring boot中配置数据源url的属性。
- spring.datasource.username:这是spring boot中配置数据库连接的用户名的属性,根据个人创建的用户设置。
- spring.datasource.password:这是spring boot中配置数据库连接密码的属性,根据个人创建的用户设置。
- spring.datasource.driver-class-name:这是spring boot中配置数据库驱动类名的属性。

# mysql
spring.datasource.url=jdbc:mysql://localhost:3306/tic?usessl=false&servertimezone=utc
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.driver
# mapper.xml文件存放路径
mybatis.mapper-locations=classpath:mapper/*.xml6. 工程启动类配置
启动类需要加入一个注解指定mapper接口的位置:@mapperscan("com.tic.mybatis")

7. 连接数据库和创建测试表
配置一下datasource插件,位置正常在idea界面的右侧栏。

依次点击 + 号,选择data source下的mysql数据库。

在这个弹框中,下载mysql驱动文件,然后再配置连接数据库信息。


驱动文件下载完成,且数据库配置信息填写完成后,点击test connection链接(测试数据库连接),如出现succeeded相关信息,就代表添加的数据库配置信息正常,随后点击apply即可。


为了方便演示,我在本地创建一个名叫tic的数据库(数据库名自定义)。
鼠标右击刚刚连接的数据库管理系统选择new>>schema。

在弹框下方完善建库ddl语句,然后点击ok按钮即可。

测试数据库建好后,在库中创建了一个user表,建表ddl语句如下:
create table `user` (
  `id` int(11) not null auto_increment,
  `username` varchar(255) collate utf8mb4_unicode_ci default null comment '账号',
  `nickname` varchar(255) collate utf8mb4_unicode_ci default null comment '昵称',
  `password` varchar(255) collate utf8mb4_unicode_ci default null comment '密码',
  primary key (`id`)
) engine=innodb auto_increment=2 default charset=utf8mb4 collate=utf8mb4_unicode_ci;鼠标右击刚刚建好的tic库选择new>>table。

在弹框下方将方才的user表ddl语句复制进来,然后点击ok按钮即可。

至此idea连接数据库和创建测试表完成。
8. mapper接口和xml自动生成
这里给大家推荐一款非常好用的idea插件:better-mybatis-generator,在idea的插件仓库可以直接下载。

下载好之后,在user表上右键选择 mybatis-generator。

进入自动生成页面之后,需要配置的地方有3处,设置名称和选择项目的对应文件夹即可。如果你跟我的目录结构一样,可以按照下面这样配置:

完成上述配置后,点击ok按钮后,因第一次使用该插件,需输入数据库用户和密码。

点击ok之后,mapper接口、user实体类和mapper.xml文件就都生成好了,生成的结果如下:

9. 接口测试
完成上述步骤后,您的项目已经顺利集成了mybatis,那么我们现在可以对集成的结果进行一个测试,看看还有没有问题,是不是可以投入使用。
我写了一个testcontroller接口用来插入一条user数据:

package com.tic.mybatis.controller;
import com.tic.mybatis.entity.user;
import com.tic.mybatis.mapper.userdao;
import org.springframework.web.bind.annotation.getmapping;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
import javax.annotation.resource;
/**
 * @author: michael lee
 * @createtime: 2024-06-16
 * @description: 测试接口
 */
@restcontroller
@requestmapping("/test")
public class testcontroller {
    @resource
    private userdao userdao;
    @getmapping
    public string findall() {
        user user = new user();
        user.setid(1);
        user.setnickname("michael lee");
        user.setusername("admin");
        user.setpassword("123456");
        userdao.insert(user);
        return "接口调用成功!";
    }
}
写完之后,鼠标右击程序入口,启动一下工程:

然后直接访问localhost:8080/test接口,此处作者接口出现异常,控制台出现public key retrieval is not allowed报错。

此处需要打开application.properties配置文件,修改数据库连接url配置,新增allowpublickeyretrieval=true配置
spring.datasource.url=jdbc:mysql://localhost:3306/tic?usessl=false&servertimezone=utc&allowpublickeyretrieval=true
修改上述配置后,重新启动工程,再次调用接口,返回下列信息则是成功!

然后我们打开数据库,即可看到数据已成功录入表中。

至此,我们的springboot集成mybatis项目完美竣工!!!
有什么问题都可以评论区留言,看见都会回复的!!!
如果你觉得本篇文章对你有所帮助的,多多支持!!!
点赞收藏评论,抱拳了!!!
 
             我要评论
我要评论
发表评论