springboot+mybatis-plus实例demo

大家好,我是雄雄,欢迎关注微信公众号【雄雄的小课堂】。

前言

故事还得从一次微信通话说起……

一个夜深人静的晚上,正在电脑前看书,突然,放在旁边的手机响了起来,原来是一个朋友打的微信电话。

“你在干嘛呢?”

“看书呢,咋啦?”

“看的啥书?学习吗?”

“没有,再看一个暗访纪实,挺不错的,你也可以去看看。”

“嗯嗯,我以为你在看学习的书呢,对了,你的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项目的两种方式!!

简化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.Driverurl: jdbc:mysql://localhost:3306/schooldb?useUnicode=true&characterEncoding=utf-8username: rootpassword: 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 {@Autowiredprivate UserMapper userMapper;@Testvoid contextLoads() {List<User> userList = userMapper.selectList(null);userList.forEach(System.out::println);}}

运行结果如下:

以上就是mybatis-plus的demo,你明白了吗?

往期精彩

springboot访问jsp页面变成直接下载?

2021-03-02

springboot+springm vc+mybatis实现增删改查案例!

2021-03-01

springboot中配置mybatis别名该怎么写?

2021-02-28

简化springboot部署,太灵活方便了!

2021-02-27

快速搭建Springboot项目的两种方式!!

2021-02-26

点分享

点点赞

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式事务,EventBus 解决方案:CAP【中文文档】

前言 很多同学想对CAP的机制以及用法等想有一个详细的了解&#xff0c;所以花了将近两周时间写了这份中文的CAP文档&#xff0c;对 CAP 还不知道的同学可以先看一下 .NET Core 事件总线,分布式事务解决方案&#xff1a;CAP。 本文档为 CAP 文献&#xff08;Wiki&#xff09;&…

POJ1330-Nearest Common Ancestors【tarjan,LCA】

正题 题目链接&#xff1a; http://poj.org/problem?id1330 题目大意 就是给出一棵树&#xff0c;求LCA&#xff08;最近公共祖先&#xff09; 解题思路 用tarjan求LCA&#xff0c;这里给出tarjan算法 代码 #include<cstdio> #include<iostream> using nam…

Java自动化邮件中发送图表(二)之JFreeChart

一、JFreeChart库 JFreeChart是JAVA平台上的一个开放的图表绘制类库。 JFreeChart可生成饼图&#xff08;pie charts&#xff09;、柱状图&#xff08;bar charts&#xff09;、散点图&#xff08;scatter plots&#xff09;、时序图&#xff08;time series&#xff09;、甘…

springboot点击运行没反应,什么都不显示的解决方式

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号【雄雄的小课堂】。最近这段时间一直在看开源框架&#xff0c;自己慢慢的琢磨&#xff0c;终于将jeecgboot环境搭建起来&#xff0c;并且成功的跑起来了demo&#xff0c;在此过程中&#xff0c;很明显的能感觉到自己进…

C#和NewSQL更配 —— CockroachDB入门

一、CockroachDB是什么 CockroachDB&#xff08;https://www.cockroachlabs.com&#xff09;是Google备受瞩目的Spanner的开源模仿&#xff0c;承诺提供一种高存活性、强一致性&#xff0c;可横向扩展的SQL数据库。主要的设计目标是全球一致性和可靠性&#xff0c;从蟑螂&#…

springboot+layui从控制器请求至页面时js失效的解决方法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。 昨天遇到了个很棘手的问题&#xff0c;其实也怪自己大意了&#xff0c;然后翻来覆去一个类一个类的去看&#xff0c;看完之后挨个技术点怀疑&#xff0c;然后分别从各个技术点入手解决&#xff0c;但…

JfreeChart(八)之甘特图

转载自 JfreeChart实现甘特图 一、甘特图简介 甘特图(Gantt chart)又称为横道图、条状图(Bar chart)。以提出者亨利L甘特先生的名字命名。 甘特图内在思想简单&#xff0c;即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。基本是一条…

springboot从控制器请求至页面时js失效的解决方法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。昨天遇到了个很棘手的问题&#xff0c;其实也怪自己大意了&#xff0c;然后翻来覆去一个类一个类的去看&#xff0c;看完之后挨个技术点怀疑&#xff0c;然后分别从各个技术点入手解决&#xff0c;但都…

ASP.NET Core 源码学习之 Options[2]:IOptions

在 上一篇 中&#xff0c;介绍了一下Options的注册&#xff0c;而使用时只需要注入 IOption 即可&#xff1a; public ValuesController(IOptions<MyOptions> options){ var opt options.Value; } IOptions IOptions 定义非常简单&#xff0c;只有一个Value属性&a…

Java自动化邮件中发送图表(三)之Highchart

一、Highchart &#xff08;1&#xff09;Highchart.js Highcharts 是一个用纯JavaScript编写的一个图表库。能够很简单便捷的在web网站或是web应用程序添加有交互性的图表。 &#xff08;2&#xff09;highcharts-serverside-export Highcharts Serverside Export框架&…

【2018.5.19】模拟赛之一-ssl2432 面积最大【数学】

正题 大意 解题思路 沟谷定理可以用半径求出高度&#xff0c;然后暴力枚举就好了 公式&#xff1a; ahr2−(a/2)2−−−−−−−−−√∗2ahr2−(a/2)2∗2bhr2−(b/2)2−−−−−−−−−√∗2bhr2−(b/2)2∗2然后计算两个的面积去掉重复的 Sa∗ahb∗bh−a∗bSa∗ahb∗bh−a…

thymeleaf如何迭代遍历,如何判断

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。最近&#xff0c;换了个桌面手机的也同步换了下&#xff1a;哈哈哈&#xff0c;自己看着舒服就行~这几天在业余时间搞一个电商项目&#xff0c;可以说是边学边做&#xff0c;效率比较低&#xff0c;但是…

ASP.NET Core MVC Tag Helpers 介绍

简介 Tag Helpers 提供了在视图中更改和增强现有HTML元素的功能。将它们添加到视图中&#xff0c;会经过Razor模板引擎处理并创建一个HTML&#xff0c;之后再返回给浏览器。有一些Tag Helpers&#xff0c;其实作为元素或实际的标签&#xff08;如environment&#xff0c;cache…

layui结合springboot上传图片

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号**【雄雄的小课堂】**。 最近实在是忙的抽不开身&#xff0c;并且身上也出现了一堆的毛病&#xff0c;今天牙疼&#xff0c;明天脊椎疼&#xff0c;然后接着又头疼……年纪轻轻的&#xff0c;咋这么多毛病呢&#xff1f;…

C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码

前言 什么是Xamarin? Xamarin始创于2011年&#xff0c;旨在使移动开发变得难以置信地迅捷和简单。 Xamarin的产品简化了针对多种平台的应用开发&#xff0c;包括iOS、Android、Windows Phone和Mac App。 Xamarin由许多著名的开源社区开发者创立和参与&#xff0c;而且也是…

Java不需要使用Javafx的Application也能将Node导出图片

一、Java通用导出Javafx Chart图片 Javafx不需要使用Application也能导出图片&#xff0c;使用PlatformImpl.startup方法初始化Javafx的Toolkit。 Javafx API并不是所有机器都支持的&#xff0c;Node导出图片不一定成功。&#xff08;如&#xff1a;无法初始化Javafx的Toolki…