目录
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/*.xml
6. 工程启动类配置
启动类需要加入一个注解指定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项目完美竣工!!!
有什么问题都可以评论区留言,看见都会回复的!!!
如果你觉得本篇文章对你有所帮助的,多多支持!!!
点赞收藏评论,抱拳了!!!
发表评论