SpringBoot集成Mybatis保姆级教程(完整版)

您所在的位置:网站首页 边牧梳毛视频教程完整版 SpringBoot集成Mybatis保姆级教程(完整版)

SpringBoot集成Mybatis保姆级教程(完整版)

2024-05-09 14:14| 来源: 网络整理| 查看: 265

大家好,又见面了,我是你们的朋友全栈君。

前言

大家好,我是程序员青戈。今天是周末,在家里想出一个教学视频,这个视频的内容是关于SpringBoot搭建Web应用的,既然是Web应用,那么肯定要访问数据库,我这里用的是Mybatis持久层框架。因为之前没做笔记,我也是折腾了半天,在网上一顿搜索,总算完成了脚手架的搭建,一个程序员老鸟搞了这么久,哈哈确实有点尴尬。

既然已经完成了,那么索性我把这个SpringBoot集成Mybatis的教程分享出来,帮助更多的小伙伴去学习,也方便自己日后查看。因为搭建的过程是我自己手撸的,所以基本没什么坑,同学们大可放心copy😆

项目搭建

新建项目,在IDEA中,点击File -> new -> Project

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

进入这个页面,选择Spring Initializr,注意你要提前自己配置一下JDK环境,我这里使用的JDK版本是 1.8。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

点击 Next,进入下面这个页面,因为我使用的IDEA版本是2020.3,不同的版本看到的页面可能不一样,不过应该都大同小异。注意选择的Java version是8,其他的默认就行了,然后点击Next。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

这里是选择工程的依赖,为了简单我们这里使用Lombok插件,同学们在使用的时候注意安装Lombok对应的idea插件哦,要不然代码会报错。核心的依赖是Spring web(也就是SpringMVC,用来提供Web接口)、MyBatis和Mysql的驱动。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

完成上面的配置之后,最后一步需要选择文件的位置,我们可以使用它默认的名称demo,注意下面的Project location选择的路径是指包含你工程内部文件的路径。完成之后点击Finish。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)项目配置

完成上面的步骤之后,你的工程就已经出来了,删除一些不需要的文件,大概是这样的一个结构,工程名和包名我自己改了一下。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)pom配置

首先是pom文件,我们来看一下:

代码语言:javascript复制 4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.2 com.example demo 0.0.1-SNAPSHOT demo Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 mysql mysql-connector-java runtime org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin org.projectlombok lombok

注意:Springboot版本是 2.4.2。

这是一个maven的项目,所以你需要自己去配置一下maven,打开settings,搜索maven,配置Maven Home和settings file,当然,你也可以使用默认的配置。配置完成后点击OK即可。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

如果你的依赖下载速度很慢,我推荐你使用阿里云仓库,在pom文件中加入这个配置:

代码语言:javascript复制 nexus-aliyun nexus-aliyun http://maven.aliyun.com/nexus/content/groups/public/ true false public aliyun nexus http://maven.aliyun.com/nexus/content/groups/public/ true false 创建mapper文件夹

你需要在java包和resources包下各创建一个文件夹,来存放mapper接口和mapper.xml文件。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)数据源和mybatis配置

为了演示,我在本地创建了一个test数据库,在application.properties文件中配置数据源和mapper接口的位置:

代码语言:javascript复制spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver mybatis.mapper-locations=classpath:mapper/*.xml启动类配置

启动类只需要加入一个注解指定mapper接口的位置即可: @MapperScan("com.example.mapper")

代码语言:javascript复制@SpringBootApplication @MapperScan("com.example.mapper") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

配置到此结束。

Mapper接口和XML自动生成

这里给大家推荐一款非常好用的idea插件:better-mybatis-generator,在idea的插件仓库可以直接下载。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

下载好之后,你需要配置一下datasource插件,位置在界面的右侧栏。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

依次点击 + 号,选择Data Source下的Mysql数据库。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

在这个页面,先下载Mysql驱动(注意,一定要下载),然后配置下面四项即可。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

配置完成之后点击Test Connection,如果出现下面这样的,就表示你配置完成了。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

注意,这里有个小坑。idea的datasource插件配置完成之后默认是不会显示你的数据库表的,需要设置一下。 在Schemas这一栏,勾选All 即可。

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

配置完成之后,我们就可以使用插件自动生成接口了: 为了方便演示,我在本地的test库创建了一个user表,结构如下:

代码语言:javascript复制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;

在user表上右键选择 mybatis-generator:

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

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

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

点击ok之后,Mapper接口、User实体类和Mapper.xml文件就都生成好了,我们看下生成的结果:

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

UserMapper:

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

你看,是不是非常方便。

测试

好了,完成上面的步骤,就表示你的项目已经成功集成了Mybatis,那么我们现在可以对集成的结果进行一个测试,看看还有没有问题,是不是可以投入使用。话不多说,Show me the code。

我写了一个UserController接口用来查询user表的数据:

代码语言:javascript复制package com.example.controller; import com.example.entity.User; import com.example.mapper.UserMapper; 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; import java.util.List; @RestController @RequestMapping("/user") public class UserController { @Resource private UserMapper userMapper; @GetMapping public List findAll() { return userMapper.selectAll(); } }

当然这里写的不是很规范哈,为了方便,我偷懒直接在controller里面引入了UserMapper,同学们可不要学我哦,一般要建一个service层做数据处理使用的。

UserMapper的selectAll接口:

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

UserMapper.xml:

代码语言:javascript复制 id, username, nickname, `password` select from user order by id desc

写完之后,启动一下工程:

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

OK,启动成功,访问端口默认是 8080。为了演示效果,我们需要自己在数据库插入一条测试数据:

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

然后我们打开浏览器,请求一下接口试试:

SpringBoot集成Mybatis保姆级教程(完整版)SpringBoot集成Mybatis保姆级教程(完整版)

非常完美~ 数据请求成功!

至此,SpringBoot集成Mybatis保姆级教程完工。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152647.html原文链接:https://javaforall.cn



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3