SpirngBoot整合MybatisPlus 附源码
项目搭建
目录结构
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 附源码的更多相关文章
- SSM 三大框架系列:Spring 5 + Spring MVC 5 + MyBatis 3.5 整合(附源码)
之前整理了一下新版本的 SSM 三大框架,这篇文章是关于它的整合过程和项目源码,版本号分别为:Spring 5.2.2.RELEASE.SpringMVC 5.2.2.RELEASE.MyBatis ...
- PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)
说明 文章首发于HURUWO的博客小站,本平台做同步备份发布. 如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览. 原文链接 PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二 ...
- SpringBoot2.x整合Prometheus+Grafana【附源码+视频】
图文并茂,新手入门教程,建议收藏 SpringBoot2.x整合Prometheus+Grafana[附源码+视频] 附源码+视频 目录 工程简介 简介 Prometheus grafana Spri ...
- 在网站开发中很有用的8个 jQuery 效果【附源码】
jQuery 作为最优秀 JavaScript 库之一,改变了很多人编写 JavaScript 的方式.它简化了 HTML 文档遍历,事件处理,动画和 Ajax 交互,而且有成千上万的成熟 jQuer ...
- Web 开发中很实用的10个效果【附源码下载】
在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)
前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...
- C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper(三:附源码)
前言:之前的两篇封装了一些基础的表单组件,这篇继续来封装几个基于bootstrap的其他组件.和上篇不同的是,这篇的有几个组件需要某些js文件的支持. 本文原创地址:http://www.cnblog ...
- 轻量级通信引擎StriveEngine —— C/S通信demo(2) —— 使用二进制协议 (附源码)
在网络上,交互的双方基于TCP或UDP进行通信,通信协议的格式通常分为两类:文本消息.二进制消息. 文本协议相对简单,通常使用一个特殊的标记符作为一个消息的结束. 二进制协议,通常是由消息头(Head ...
- jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...
- 精选9个值得学习的 HTML5 效果【附源码】
这里精选了一组很酷的 HTML5 效果.HTML5 是现 Web 开发领域的热点, 拥有很多让人期待已久的新特性,特别是在移动端,Web 开发人员可以借助 HTML5 强大功能轻松制作各种交互性强.效 ...
随机推荐
- 热烈祝贺 Splashtop 赢得最佳远程桌面用户满意度得分
在 G2 的 2021 年冬季远程桌面网格报告中,Splashtop 的净发起人得分(NPS)为 93,是所有远程桌面工具中最高的. 在一份分析用户对 30 多种远程桌面解决方案的评论的报告中,Spl ...
- Java面试题:如果你这样做,你会后悔的,两次启动同一个线程~~~
当一个线程被启动后,如果再次调start()方法,将会抛出IllegalThreadStateException异常. 这是因为Java线程的生命周期只有一次.调用start()方法会导致系统在新线程 ...
- 『手撕Vue-CLI』添加帮助和版本号
前言 经过上一篇『手撕Vue-CLI』编码规范检查之后,手撕 Vue-CLI 已经进阶到了代码规范检查这一步,已经将基本的工程搭建好了,然后代码规范约束也已经加入了,并且将 nue-cli 指令绑定到 ...
- 2024 CISCN WEB 部分wp
前言 第二天的revenge真是绷不住,出的很好,下次多出点revenge. ezjava 简要介绍 sqlite jdbc...真的没想到,写文件覆盖写了半天,结果是个CVE...,给的很多东西都是 ...
- 环境变量管理工具Modules的安装
一.软件依赖tcl软件 (1)tcl下载地址:http://www.tcl-lang.org/software/tcltk/(2)编译安装 cd unix/ ./configure --prefix= ...
- 【WPF】自定义数据集合绑定到UI界面
需要展示列表项,从https://github.com/jdscodelab/File-Manager-UI-Wpf这个项目,只有前端UI. 复用了其文件内容列表 主要源码: <StackP ...
- 阿里巴巴 MySQL 数据库之建表规约(一)
建表规约 强制部分 [强制] 表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint (1 表示是,0 表示否). 说明:任何字段如果为非负数,必须是 ...
- leetcode阶段总结
1.目前已经刷了大概200道题目 主要使用的语言是python,刷完之后,发现盲写部分语法依然记不住: 以后刷算法保持一个原则,一定使用不提示代码的工具,纯文本编写,尽量不debug 2.后续尽量使用 ...
- 网页CSS源码
EntryTag { margin-top:20px; font-size:9pt; color:gray } .topicListFooter { text-align:right; margin- ...
- OpenStack 认证服务(keystone)安装前期部署检查
一,检查安装完成情况 1.连接情况 (1) 从控制节点到计算节点的连通性测试 [1]ping计算节点的内网ip [2]ping计算节点的外网ip [3]ping计算节点的主机名 (2)从计算节点到控制 ...