SpringBoot集成Mybatis保姆级教程(完整版) |
您所在的位置:网站首页 › 边牧梳毛视频教程完整版 › SpringBoot集成Mybatis保姆级教程(完整版) |
大家好,又见面了,我是你们的朋友全栈君。 前言大家好,我是程序员青戈。今天是周末,在家里想出一个教学视频,这个视频的内容是关于SpringBoot搭建Web应用的,既然是Web应用,那么肯定要访问数据库,我这里用的是Mybatis持久层框架。因为之前没做笔记,我也是折腾了半天,在网上一顿搜索,总算完成了脚手架的搭建,一个程序员老鸟搞了这么久,哈哈确实有点尴尬。 既然已经完成了,那么索性我把这个SpringBoot集成Mybatis的教程分享出来,帮助更多的小伙伴去学习,也方便自己日后查看。因为搭建的过程是我自己手撸的,所以基本没什么坑,同学们大可放心copy😆 项目搭建新建项目,在IDEA中,点击File -> new -> Project ![]() 进入这个页面,选择Spring Initializr,注意你要提前自己配置一下JDK环境,我这里使用的JDK版本是 1.8。 ![]() 点击 Next,进入下面这个页面,因为我使用的IDEA版本是2020.3,不同的版本看到的页面可能不一样,不过应该都大同小异。注意选择的Java version是8,其他的默认就行了,然后点击Next。 ![]() 这里是选择工程的依赖,为了简单我们这里使用Lombok插件,同学们在使用的时候注意安装Lombok对应的idea插件哦,要不然代码会报错。核心的依赖是Spring web(也就是SpringMVC,用来提供Web接口)、MyBatis和Mysql的驱动。 ![]() 完成上面的配置之后,最后一步需要选择文件的位置,我们可以使用它默认的名称demo,注意下面的Project location选择的路径是指包含你工程内部文件的路径。完成之后点击Finish。 ![]() 完成上面的步骤之后,你的工程就已经出来了,删除一些不需要的文件,大概是这样的一个结构,工程名和包名我自己改了一下。 ![]() 首先是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即可。 ![]() 如果你的依赖下载速度很慢,我推荐你使用阿里云仓库,在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文件。 ![]() 为了演示,我在本地创建了一个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的插件仓库可以直接下载。 ![]() 下载好之后,你需要配置一下datasource插件,位置在界面的右侧栏。 ![]() 依次点击 + 号,选择Data Source下的Mysql数据库。 ![]() 在这个页面,先下载Mysql驱动(注意,一定要下载),然后配置下面四项即可。 ![]() 配置完成之后点击Test Connection,如果出现下面这样的,就表示你配置完成了。 ![]() 注意,这里有个小坑。idea的datasource插件配置完成之后默认是不会显示你的数据库表的,需要设置一下。 在Schemas这一栏,勾选All 即可。 ![]() 配置完成之后,我们就可以使用插件自动生成接口了: 为了方便演示,我在本地的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: ![]() 进入自动生成页面之后,需要配置的地方有3处,设置名称和选择项目的对应文件夹即可。如果你跟我的目录结构一样,可以按照下面这样配置: ![]() 点击ok之后,Mapper接口、User实体类和Mapper.xml文件就都生成好了,我们看下生成的结果: ![]() UserMapper: ![]() 你看,是不是非常方便。 测试好了,完成上面的步骤,就表示你的项目已经成功集成了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接口: ![]() UserMapper.xml: 代码语言:javascript复制 id, username, nickname, `password` select from user order by id desc写完之后,启动一下工程: ![]() OK,启动成功,访问端口默认是 8080。为了演示效果,我们需要自己在数据库插入一条测试数据: ![]() 然后我们打开浏览器,请求一下接口试试: ![]() 非常完美~ 数据请求成功! 至此,SpringBoot集成Mybatis保姆级教程完工。 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152647.html原文链接:https://javaforall.cn |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |