前言
故事还得从一次微信通话说起……
一个夜深人静的晚上,正在电脑前看书,突然,放在旁边的手机响了起来,原来是一个朋友打的微信电话。
“你在干嘛呢?”
“看书呢,咋啦?”
“看的啥书?学习吗?”
“没有,再看一个暗访纪实,挺不错的,你也可以去看看。”
“嗯嗯,我以为你在看学习的书呢,对了,你的springboot看的怎么样了,我们公司现在准备转框架。”
“还可以吧,准备写个项目,解决了好多好多bug。”
“那好啊,解决bug,能快速的得到提升。对了,你可以去看看mybatis-plus,我们公司下一步就用它……”
于是早上起来,我就打开电脑去看了看,不紧不慢写了个demo,发现是真的还用啊。
下面我们来快速的写个springboot+mybatis-plus的demo测试测试。
Mybatis-plus的官网在这,大家可以去看看:https://mp.baomidou.com/guide/
Mybatis-plus简称MP,是一个mybatis的增强工具,注意增强二字,说明它并没有对mybatis改变,而是在其原有的基础上进行了增强。
官方总结了下mybatis-plus的特性,在这里贴出来给大家看看,如果想了解更多请移步至官网。
接下来我们就快速创建个springboot+mybatis-plus的demo吧,感受一下mybatis-plus的特别之处!
在mysql数据库中创建User表
表结构如下:
创建表的sql如下:
DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (id) );
添加几条测试数据:
DELETE FROM user; INSERT INTO user (id, name, age, email) VALUES (1, 'Jone', 18, 'test1@baomidou.com'), (2, 'Jack', 20, 'test2@baomidou.com'), (3, 'Tom', 28, 'test3@baomidou.com'), (4, 'Sandy', 21, 'test4@baomidou.com'), (5, 'Billie', 24, 'test5@baomidou.com');
01
创建springboot项目
关于如何创建于部署springboot项目,大家可以看这里:
如下是我新创建好的springboot的项目目录结构
然后需要在pom文件中添加mybatis-plus-boot-starter和lombox的依赖,代码如下:
<!--mybaits-plus的依赖--> <dependency> <groupId>com.pig4cloud</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> <!--lombok的依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> <scope>provided</scope> </dependency>
02
编写底层代码
在com.xiongxiong.mpdemo包下面新建package,命名为entity,在包内创建实体类User,我们在这使用的是lombox简化代码(加上@Data注解即可):
package com.xiongxiong.mpdemo.entity; import lombok.Data; @Data //使用lombok简化代码 /** * 实体类 */ public class User { private Long id; private String name; private Integer age; private String email; public User() { } public User(Long id, String name, Integer age, String email) { this.id = id; this.name = name; this.age = age; this.email = email; } }
在com.xiongxiong.mpdemo包下面新建package,命名为dao,在包内创建接口
UserMapper,代码如下:
package com.xiongxiong.mpdemo.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xiongxiong.mpdemo.entity.User; import org.springframework.stereotype.Repository; /** * Mapper层 */ @Repository public interface UserMapper extends BaseMapper<User> { }
注意,该接口继承至mybatis-plus的BaseMapper类,里面啥都不用写。
03
配置application.yml
在该yml文件中,我们需要配置mysql的驱动,连接以及用户名和密码,代码如下:
# DataSource Config spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/schooldb?useUnicode=true&characterEncoding=utf-8 username: root password: root
在springboot的启动类中加入扫描mapper文件的注解,如下:
04
测试demo
现在我们就可以去写个测试类进行测试了,我们就先来测试个查询全部数据功能。打开src/test/java/com.xiongxiong.mpdemo的MpdemoApplicationTests类,我们直接在contextLoads()方法中,写查询的代码:
package com.xiongxiong.mpdemo; import com.xiongxiong.mpdemo.dao.UserMapper; import com.xiongxiong.mpdemo.entity.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest class MpdemoApplicationTests { @Autowired private UserMapper userMapper; @Test void contextLoads() { List<User> userList = userMapper.selectList(null); userList.forEach(System.out::println); } }
运行结果如下:
以上就是mybatis-plus的demo,你明白了吗?