项目搭建

目录结构

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.cyb</groupId>
<artifactId>springboot-mybatisplus</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-mybatisplus</name>
<description>springboot整合mybatisplus</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<!--SpringBoot依赖开始-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--SpringBoot依赖结束-->
<!--mysql依赖开始-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mysql依赖结束-->
<!--MybatisPlus依赖开始-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!--MybatisPlus依赖结束-->
<!--Junit测试依赖开始-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<!--Junit测试依赖结束-->
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

application.properties

server.port=8080

#mysql
spring.datasource.url=jdbc:mysql://localhost:3306/nba?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#mybatis-plus
mybatis-plus.mapper-locations=classpath:com/mht/springbootmybatisplus/mapper/xml/*.xml
mybatis-plus.type-aliases-package=com.mht.springbootmybatisplus.entity
mybatis-plus.configuration.map-underscore-to-camel-case: true

注入分页

MybatisPlusConfig.java

package com.cyb.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; /**
* @ClassName:MybatisPlusConfig
* @Description:分页配置
* @Author:chenyb
* @Date:2020/9/24 9:31 上午
* @Versiion:1.0
*/
@Configuration
@ConditionalOnClass(value = PaginationInnerInterceptor.class)
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
}

dao层

NbaTestDao.java

package com.cyb.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cyb.entity.NbaTest; public interface NbaTestDao extends BaseMapper<NbaTest> {
}

实体类

NbaTest.java

package com.cyb.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import java.util.Date; /**
* @ClassName:NbaPlayer
* @Description:实体类
* @Author:chenyb
* @Date:2020/9/23 4:29 下午
* @Versiion:1.0
*/
//表名
@TableName("nba_test")
public class NbaTest {
//表字段与实体类对应关系
@TableField("id")
@TableId
private int id;
@TableField("name")
private String name;
@TableField("age")
private int age;
@TableField("create_date")
private Date createDate; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public Date getCreateDate() {
return createDate;
} public void setCreateDate(Date createDate) {
this.createDate = createDate;
} @Override
public String toString() {
return "NbaTest{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", createDate=" + createDate +
'}';
}
}

启动类上扫描dao

数据库表字段

测试类

package com.cyb;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cyb.dao.NbaTestDao;
import com.cyb.entity.NbaTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import java.util.Date;
import java.util.List; @RunWith(SpringRunner.class)
@SpringBootTest(classes = StartApplication.class)
public class Test01 {
@Autowired
private NbaTestDao nbaTestDao; /**
* 添加
*/
@Test
public void add() {
for (int x=0;x<100;x++){
NbaTest nbaTest=new NbaTest();
nbaTest.setAge(25+x);
nbaTest.setCreateDate(new Date());
nbaTest.setName("陈彦斌===="+x);
nbaTestDao.insert(nbaTest);
}
System.out.println("ok~~~~~~~~~");
} /**
* 更新
*/
@Test
public void update(){
NbaTest nbaTest=new NbaTest();
nbaTest.setId(2);
nbaTest.setName("修改");
nbaTest.setAge(0);
nbaTestDao.updateById(nbaTest);
System.out.println("update=====");
} /**
* 删除
*/
@Test
public void delete(){
nbaTestDao.deleteById(2);
System.out.println("delete==========");
} /**
* 查询
*/
@Test
public void selete(){
QueryWrapper<NbaTest> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name","陈彦斌====6");
List<NbaTest> nbaTests = nbaTestDao.selectList(queryWrapper);
System.out.println(nbaTests);
} /**
* 分页查询
*/
@Test
public void seleteByPage(){
int start=2;
int end=5;
IPage<NbaTest> userPage=new Page<>(start,end);
QueryWrapper<NbaTest> queryWrapper = new QueryWrapper<>();
List<NbaTest> records = nbaTestDao.selectPage(userPage, queryWrapper).getRecords();
for (NbaTest nt:records){
System.out.println(nt);
}
}
}

搞定~

SpirngBoot整合MybatisPlus 附源码的更多相关文章

  1. SSM 三大框架系列:Spring 5 + Spring MVC 5 + MyBatis 3.5 整合(附源码)

    之前整理了一下新版本的 SSM 三大框架,这篇文章是关于它的整合过程和项目源码,版本号分别为:Spring 5.2.2.RELEASE.SpringMVC 5.2.2.RELEASE.MyBatis ...

  2. PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)

    说明 文章首发于HURUWO的博客小站,本平台做同步备份发布. 如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览. 原文链接 PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二 ...

  3. SpringBoot2.x整合Prometheus+Grafana【附源码+视频】

    图文并茂,新手入门教程,建议收藏 SpringBoot2.x整合Prometheus+Grafana[附源码+视频] 附源码+视频 目录 工程简介 简介 Prometheus grafana Spri ...

  4. 在网站开发中很有用的8个 jQuery 效果【附源码】

    jQuery 作为最优秀 JavaScript 库之一,改变了很多人编写 JavaScript 的方式.它简化了 HTML 文档遍历,事件处理,动画和 Ajax 交互,而且有成千上万的成熟 jQuer ...

  5. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  6. MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)

    前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...

  7. C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper(三:附源码)

    前言:之前的两篇封装了一些基础的表单组件,这篇继续来封装几个基于bootstrap的其他组件.和上篇不同的是,这篇的有几个组件需要某些js文件的支持. 本文原创地址:http://www.cnblog ...

  8. 轻量级通信引擎StriveEngine —— C/S通信demo(2) —— 使用二进制协议 (附源码)

    在网络上,交互的双方基于TCP或UDP进行通信,通信协议的格式通常分为两类:文本消息.二进制消息. 文本协议相对简单,通常使用一个特殊的标记符作为一个消息的结束. 二进制协议,通常是由消息头(Head ...

  9. jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)

    上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...

  10. 精选9个值得学习的 HTML5 效果【附源码】

    这里精选了一组很酷的 HTML5 效果.HTML5 是现 Web 开发领域的热点, 拥有很多让人期待已久的新特性,特别是在移动端,Web 开发人员可以借助 HTML5 强大功能轻松制作各种交互性强.效 ...

随机推荐

  1. 小程序真机报错errMsg: “hideLoading:fail:toast can‘t be found“ ?

    showLoading 和 showToast 同时只能显示一个: showLoading 应与hideLoading 配对使用: 把请求接口统一封装,开始请求接口时showLoading,请求接口后 ...

  2. set 容器详解 附大根堆题解

    声明 本文中题解部分内容大部分转载自 @sonnety 的这篇博客中,本文为为方便复习而写的结论类文章,读者可自行跳转至原文处阅读. PART 1 set 什么是 set --来源cppreferen ...

  3. Splashtop 扩展了所有 Android 8.0 以上设备的远程控制功能

    好消息:Splashtop远程访问和远程支持软件现在支持100多个品牌的 Android 设备. 2020年9月15日,远程访问和远程支持解决方案的全球领导者 Splashtop Inc. 宣布:所有 ...

  4. 【PB案例学习笔记】-01创建应用、窗口与控件

    写在前面 这是PB案例学习笔记系列文章的第一篇,也是最基础的一篇.后续文章中[创建程序基本框架]部分操作都跟这篇文章一样, 将不再重复.该系列文章是针对具有一定PB基础的读者,通过一个个由浅入深的编程 ...

  5. 本地项目文件上传到git

    初始化项目: git init 与服务器项目关联:git remote add origin "http://**************************/r/ruoyi.git&q ...

  6. java练习项目——记账本

    包含登录.注册.记账.每日账单查看.每月报表.添加记账类型这些功能.数据存储采用的是txt文档+xml文档.程序是一个控制台程序,用IntelliJ IDEA+jdk8开发.涉及到的知识有List集合 ...

  7. C#关键字 sealed

    定义在自定义类上,该类就不能被继承. 定义在基类的方法上,子类就不能用override 重写该方法.

  8. 微信小程序学习随笔

    scroll-view与view 要做出滚动视图的效果 <scroll-view> <view id="1">11</view> <vie ...

  9. Typora编写博客并发布

    (1)工具安装:下载博主xhznl开发的的工具,并按照说明进行正确的配置. EasyBlogImageForTypora使用说明:https://www.cnblogs.com/xhznl/p/132 ...

  10. (八十八)c#Winform自定义控件-转子

    官网 http://www.hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kw ...