添加依赖

    <!--mybatis-plus的springboot支持-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>

创建数据库和表

CREATE TABLE `user` (`id` BIGINT(20) not null AUTO_INCREMENT comment '主键ID',
`name` VARCHAR(30) DEFAULT null comment '姓名',
`age` int(11) DEFAULT null comment '年龄',
`email` VARCHAR(50) DEFAULT null comment '邮箱',
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8; insert into user (id,name,age,email) VALUES ('1','Jone','18','test1@qq.com');

insert into user (id,name,age,email) VALUES ('2','Jack','20','test2@qq.com');

insert into user (id,name,age,email) VALUES ('3','Tom','28','test3@qq.com');

insert into user (id,name,age,email) VALUES ('4','Sandy','21','test4@qq.com');

insert into user (id,name,age,email) VALUES ('5','Billie','24','test5@qq.com');

配置 application.yml

spring:
application:
name: spring-boot-mybatis-plus
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/mysqlName?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
username: root
password: root

创建pojo类

public class User {
@TableId(value = "ID",type = IdType.AUTO) //设置id为自增长
private Long id;
private String name;
private Integer age;
private String email;
//( set,get,toString方法自行添加 )
}

创建 UserMapper接口

public interface UserMapper extends BaseMapper<User> {
}

注意:BaseMapper接口引入的包是

com.baomidou.mybatisplus.core.mapper.BaseMapper

编写 SpringBoot 启动类

@MapperScan("cn.mybatisplus.mapper")
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class,args);
}
}

@MapperScan("cn.mybatisplus.mapper"). 扫描 mapper 包

编写测试代码

@SpringBootTest
@RunWith(SpringRunner.class)
public class UserMapperTest {
@Autowired
private UserMapper userMapper; @Test
public void testList(){
List&lt;User&gt; users = this.userMapper.selectList(null);
for (User user: users) {
System.out.println(user);
}
} @Test
public void testSelectById(){
User user = this.userMapper.selectById(3L); //根据id查数据
System.out.println(user);
} @Test
public void testSelectByLike(){
QueryWrapper&lt;User&gt; wrapper = new QueryWrapper&lt;&gt;();
wrapper.like(&quot;name&quot;,&quot;o&quot;); //查询 name字段中包含‘o’的数据
List&lt;User&gt; users = this.userMapper.selectList(wrapper);//返回值是一个list集合
for (User u : users) {
System.out.println(u);
}
} @Test
public void testSelectByLe(){
QueryWrapper&lt;User&gt; wrapper = new QueryWrapper&lt;&gt;();
/**
* eq : 等于
* ne : 不等于
* gt : 大于
* ge : 大于等于
* lt : 小于
* le : 小于等于
* 更多查看 https://mp.baomidou.com/guide/wrapper.html#abstractwrapper
*/
wrapper.le(&quot;age&quot;,&quot;20&quot;); //设置年龄小于等于20
List&lt;User&gt; users = this.userMapper.selectList(wrapper);
for (User u : users) {
System.out.println(u);
}
}
@Test
public void testSave() {
User user = new User();
user.setAge(25);
user.setEmail("zhangsan@qq.com");
user.setName("zhangsan");
int count = this.userMapper.insert(user);
System.out.println("新增数据成功 count ==> "+count);
}
@Test
public void testDelete(){
this.userMapper.deleteById(6L);
System.out.println("删除成功");
} @Test
public void testUpdate(){
User user = new User();
user.setId(5L);
user.setName("Lisi");
int i = this.userMapper.updateById(user);
System.out.println(" 有"+i+"条数据被修改");
}

}

分页查询

需要增加分页插件配置(这里就简单在启动类加 Bean)

@MapperScan("cn.itcast.mybatisplus.mapper")
@SpringBootApplication
public class MyApplication {
/*
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
} public static void main(String[] args) {
SpringApplication.run(MyApplication.class,args);
}

}

测试

    @Test
public void testSelectPage() {
Page<User> page = new Page<>(2, 2);
IPage<User> userIPage = this.userMapper.selectPage(page, null);
System.out.println("总页数 ----> " + userIPage.getTotal());
System.out.println("当前页数 ----> " + userIPage.getCurrent());
System.out.println("当前每页显示数 ----> " + userIPage.getSize());
List<User> records = userIPage.getRecords();
for (User u: records) {
System.out.println(u);
}
}

运行结果

总页数 ----> 5
当前页数 ----> 2
当前每页显示数 ----> 2
User(id=3, name=Tom, age=28, email=test3@qq.com)
User(id=4, name=Sandy, age=21, email=test4@qq.com)

SpringBoot 整合 MybatisPlus (项目的创建及简单的单表查询)的更多相关文章

  1. 实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错

    摘要:在SpringBoot运行测试Mybatis-Plus测试的时候报错的问题分析与修复 本文分享自华为云社区<SpringBoot整合MybatisPlus项目存在Mapper时运行报错的问 ...

  2. SpringBoot整合MyBatisPlus配置动态数据源

    目录 SpringBoot整合MyBatisPlus配置动态数据源 SpringBoot整合MyBatisPlus配置动态数据源 推文:2018开源中国最受欢迎的中国软件MyBatis-Plus My ...

  3. 5、SpringBoot整合之SpringBoot整合MybatisPlus

    SpringBoot整合MybatisPlus 目录(可点击直接跳转,但还是建议按照顺序观看,四部分具有一定的关联性): 实现基础的增删改查 实现自动填充功能 实现逻辑删除 实现分页 首先给出四部分完 ...

  4. SpringBoot 整合 MyBatis-Plus 入门体验

    一.前言 本文小编将基于 SpringBoot 整合 MyBatis-Plus , MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上做增强并且不改变原本功能 ...

  5. SpringBoot整合Mybatis-Plus

    这篇文章介绍一个SpringBoot整合Mybatis-Plus,提供一个小的Demo供大家参考. 已经很久没有写文章了,最近家里有点事刚刚处理完,顺便也趁机休息了一段时间.刚回到公司看了一下码云,发 ...

  6. SpringBoot整合Mybatis-plus实现增删查改

    今天给大家分享一下SpringBoot整合Mybatis-plus的增删查改案例. pom.xml <?xml version="1.0" encoding="UT ...

  7. springBoot 整合 mybatis 项目实战

    二.springBoot 整合 mybatis 项目实战   前言 上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用 ...

  8. Springboot 整合 MyBatisPlus[详细过程]

    Springboot 整合 MyBatisPlus[详细过程] 提要 这里已经将Springboot环境创建好 这里只是整合MyBatis过程 引入Maven依赖 添加MyBatisPlus启动依赖, ...

  9. springboot 整合 web 项目找不到 jsp 文件

    今天遇到一个问题,就是使用springboot整合web项目的时候,怎么都访问不到 \webapp\WEB-INF\jsp\index.jsp 页面.这个问题搞了半天,试了各种方式.最后是因为在启动的 ...

随机推荐

  1. Textarea随着文本的字数自适应高度,后来发现用 contenteditable 代替textarea 效果更佳

    做移动端项目遇到很多问题,最近比如textarea 随着文本的字数自动撑开高度, 网上也查阅了一些资料发现比较有用的方法 就是获取 textarea的行数和换行符来动态改变textarea的高度  就 ...

  2. ESP8266-12F 中断

    外部中断: 基于ESP8266的NodeMcu的数字IO的中断功能是通过attachInterrupt,detachInterrupt函数所支持的.除了D0/GPIO16,中断可以绑定到任意GPIO的 ...

  3. Java日期时间以及日期相互转换_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 Java日期时间,以及相互转化,供大家参考,具体内容如下 package com.study.string; impor ...

  4. qs的两个用途

    qs是npm安装的库 1.qs.stringify()   将对象序列化成URL的形式,以&进行拼接 const Qs = require('qs'); let obj= { method: ...

  5. LINUX boot 内存不够

    查看当前使用内核版本号.输入 uname -a 查看. 删除旧内核.输入命令: sudo apt-get remove linux-image- 接着按两下tab键,将显示所有的内核版本:把目前使用的 ...

  6. 颜色空间模型 与 Opencv中的HSV模型范围

    颜色空间总结 RGB.HSV.YUV 什么是颜色 Wiki是这样说的:颜色或色彩是通过眼.脑和我们的生活经验所产生的一种对光的视觉效应.嗯,简单点说,颜色就是人对光的一种感觉,由大脑产生的一种感觉.感 ...

  7. activeMQ安全机制

  8. es之java插入优化(批量插入)

    插入文档操作的一种优化,因为每次插入单条文档,都会向es中发送请求.然后es执行在返回结果: 如果有大批量的文档数据需要插入,这个时候单挑插入操作显然是不合理的: 之前学习的命令行批量执行方式: PO ...

  9. SVM 笔记整理

    支持向量机 一.支持向量机综述 1.研究思路,从最特殊.最简单的情况开始研究 基本的线性的可分 SVM 解决二分类问题,是参数化的模型.定义类标记为 \(+1\) 和 \(-1\)(区别于感知机,感知 ...

  10. zepto-touch.js插件

    /* Zepto v1.2.0 - zepto event ajax form ie - zeptojs.com/license */(function(global, factory) { if ( ...