SpringBoot配置MyBatis-Plus实现增删查改

目录
  • 1 MyBatis-Plus
  • 2 Maven依赖
  • 3 Spring Boot配置
  • 4 UserEntity
  • 5 UserMapper
  • 6 Service(业务逻辑层)
    • 6.1 UserService
    • 6.2 UserServiceImpl
  • 7 UserController
  • 8 调试结果
    • 8.1 查询数据
    • 8.2 新增数据
    • 8.3 更新数据
    • 8.4 删除数据

1 MyBatis-Plus

MyBatis-Plus (opens new window)(简称 MP)是一个MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

特性:

(1)无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。

(2)损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作。

(3)强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求。

(4)支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错。

(5)支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题。

(6)支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作。

(7)支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )。

(8)内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用。

(9)内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询。

(10)分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库。

(11)内置性能分析插件:可输出 SQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询。

(12)内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作。

2 Maven依赖

		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.2.0</version>
		</dependency>
		<!--MySQL数据库连接驱动-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.4.1</version>
		</dependency>

3 Spring Boot配置

#数据库连接池设置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

#mybatis的相关配置
mybatis.mapper-locations=classpath:mapper/*.xml

4 UserEntity

用户信息实体类。

package com.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

/**
 * 用户信息实体类
 */
@Data
@TableName("users")
public class UserEntity {
    /**
     * 用户名
     */
    @TableField("username")
    @TableId
    private String username;
    /**
     * 昵称
     */
    @TableField("pickname")
    private String pickname;
    /**
     * 密码
     */
    @TableField("password")
    private String password;
    /**
     * 性别
     */
    @TableField("sex")
    private String sex;
}

5 UserMapper

用户信息dao层。

package com.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;

/**
 * 用户信息dao层
 */
@Mapper
public interface UserMapper extends BaseMapper<UserEntity> {
}

6 Service(业务逻辑层)

6.1 UserService

package com.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.entity.UserEntity;

public interface UserService extends IService<UserEntity> {
}

6.2 UserServiceImpl

package com.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.entity.UserEntity;
import com.mapper.UserMapper;
import com.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,UserEntity> implements UserService  {
}

7 UserController

调试代码。

package com.controller;

import com.entity.UserEntity;
import com.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    /**
     * 获取所有用户数据
     *
     * @return
     */
    @GetMapping("/getList")
    public List<UserEntity> getList() {
        return userService.list();
    }

    /**
     * 插入用户数据
     *
     * @return
     */
    @PostMapping("/create")
    public boolean create(@RequestBody UserEntity userEntity) {
        return userService.save(userEntity);
    }

    /**
     * 更新用户数据
     *
     * @return
     */
    @PutMapping("/update")
    public boolean update(@RequestBody UserEntity userEntity) {
        return userService.updateById(userEntity);
    }

    /**
     * 删除用户数据
     *
     * @return
     */
    @DeleteMapping("/delete/{username}")
    public boolean delete(@PathVariable("username") String username) {
        return userService.removeById(username);
    }
}

8 调试结果

8.1 查询数据

8.2 新增数据

8.3 更新数据

8.4 删除数据

到此这篇关于SpringBoot配置MyBatis-Plus实现增删查改的文章就介绍到这了,更多相关SpringBoot MyBatis-Plus增删查改内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot+swagger2.10.5+mybatis-plus 入门详解

    最新idea2020安装部署超详细教程 懂得懂的 2020.3 2020.2.4 2020.2.3 2020.2.2 20.2.1 2019.3 2018.3 最新2020永久 springboot简介: 个人对springboot的一点小的理解: 1.最大优势:简化配置 区别于传统的 MVC 模式,对于配置进行了大量的简化,魔鬼注解:SpringBootApplication 中包含了的注解 @SpringBootConfiguration @EnableAutoConfiguration @

  • SpringBoot中整合MyBatis-Plus的方法示例

    MyBatis 框架相信大家都用过,虽然 MyBatis 可以直接在 xml 中通过 SQL 语句操作数据库,很是灵活.但正其操作都要通过 SQL 语句进行,就必须写大量的 xml 文件,很是麻烦.于是 MyBatis-Plus 应运而生,作为 MyBatis 的增强工具,更是为我们开发效率得到了质的飞跃. 一.简介 1.MyBatis MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工

  • springboot+mybatis-plus+oracle实现逻辑删除

    最近在做一个前后端分离的小项目,需要删除用户表的用户,但是用户再别的表做了外键,所以只能做成逻辑删除,一通百度查资料后得以实现: 1.用户实体类 package com.sie.demo.entity; import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.

  • 使用springboot整合mybatis-plus实现数据库的增删查改示例

    1.准备数据库中的表及表中的数据 /* SQLyog Ultimate v12.09 (64 bit) MySQL - 5.6.11 : Database - mp ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQ

  • Springboot mybatis-plus配置及用法详解

    本节内容扩展介绍下针对mybatis的增强工具mybatis-plus,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 二话不多说,我们先写编写个简单的例子,让大家先初步的了解下mybatis-plus. 1.mybatis-plus初步实例 (1)创建一个spring boot web工程(具体创建过程就不再演示了,还不会的同学去看看spring boot专题第一节内容) (2)引入依赖 <!--web项目依赖--> <dependency> <g

  • springboot整合Mybatis-plus的实现

    1.添加pom引用 maven的引用很简单,官方已经给出starter,不需要我们考虑它的依赖关系了,此处使用的是2.3版本. <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.3</version> </dependency> 2.配置 serve

  • IDEA项目使用SpringBoot+MyBatis-Plus的方法

    步骤如下: 1.打开IDEA 2.File->new-> project 3.选择spring initializr->Next 4.填写Grouphe和Artifact,选择Java version: 8 ,点击next ,如图: 5.选择对应的依赖,点击Next 6.核对项目的名字是否一致,点击finish后就完成了工程的创建. 7.接下来就是pom文件的依赖包引入了(很重要!!!) <dependency> <groupId>org.springframew

  • SpringBoot配置MyBatis-Plus实现增删查改

    目录 1 MyBatis-Plus 2 Maven依赖 3 Spring Boot配置 4 UserEntity 5 UserMapper 6 Service(业务逻辑层) 6.1 UserService 6.2 UserServiceImpl 7 UserController 8 调试结果 8.1 查询数据 8.2 新增数据 8.3 更新数据 8.4 删除数据 1 MyBatis-Plus MyBatis-Plus (opens new window)(简称 MP)是一个MyBatis (op

  • Java Mybatis框架增删查改与核心配置详解流程与用法

    目录 Mybatis简介 Mybatis开发步骤: Mybatis的映射文件概述 Mybatis的增删改查操作 MyBatis的核心配置文件概述 MyBatis核心配置文件层级关系 MyBatis常用配置解析 Mybatis相应API 原始JDBC操作 原始jdbc操作(查询数据) 原始jdbc操作(插入数据) 原始jdbc操作的分析原始jdbc开发存在的问题如下: ①数据库连接创建.释放频繁造成系统资源浪费从而影响系统性能 ②sql 语句在代码中硬编码,造成代码不易维护,实际应用sql变化的可

  • 一小时迅速入门Mybatis之增删查改篇

    目录 一.说明 二.开搞 2.1 数据库表 2.1 创建实体类 2.2 创建接口 2.3 创建XML 2.5 测试类 2.6 唠唠 一.说明 这二篇涉及到映射Java实体类.面向接口编写Mybatis.增删查改示例 怎么引入jar包,怎么配置数据库看上一篇哦~ 二.开搞 2.1 数据库表 上一篇好像丢了数据库创建语句 -- 主键自增 DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `id` bigint(20) NOT NULL AUTO_I

  • mybatis实现对数据的增删查改实例详解

    前期准备 新建java工程或java wweb工程,需要导入以下的包, 基本工作已经完成,接下来开始进入正题. 新建实体类 新建与数据库表对应的实体类 package com.edu.hpu.domain; /** * @author Administrator *user表所对应的实体类 */ public class User { //实体类的属性和表的字段名称一一对应 private int id; private String name; private int age; //对属性进行

  • SpringBoot整合Mongodb实现增删查改的方法

    目录 一.什么是MongoDB 二.在Window10上安装MongoDB 三.配置MongoDB服务 四.启动服务 五.SpringBoot整合MongoDB 一.什么是MongoDB MongoDB与我们之前熟知的关系型数据库(MySQL.Oracle)不同,MongoDB是一个文档数据库,它具有所需的可伸缩性和灵活性,以及所需的查询和索引. MongoDB将数据存储在灵活的.类似JSON的文档中,这意味着文档的字段可能因文档而异,数据结构也会随着时间的推移而改变.文档模型映射到应用程序代码

  • Java操作redis实现增删查改功能的方法示例

    本文实例讲述了Java操作redis实现增删查改功能的方法.分享给大家供大家参考,具体如下: 首先,我们需要在windows下配置一个redis环境,具体配置教程请看:http://www.jb51.net/article/96230.htm 然后需要导入:jedis-2.7.3.jar这个包,看如下代码: package redis.main; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; imp

  • python 实现mysql增删查改示例代码

    本地安装配置phpstduy 安装这个数据库管理工具 一会我们要手动创建数据库 数据表 字段 当然也可以代码创建 1.增 import pymysql ''' host 主机名 这里是你的ip地址 user 数据库账号 password 数据库密码 port 端口 mysql数据库端口 db 数据库名 基本语句 cursor = conn.cursor()#初始化一个游标对象 sql = "数据库操作语句" cursor.execute(sql)#执行该语句 conn.commit()

  • MySQL 数据库 增删查改、克隆、外键 等操作总结

    目录 SQL 字段数据类型 查看数据库信息语句 SQL 语句 创建.删除 数据库 数据表 向表中添加.删除 记录.查询记录 修改表名,添加.修改.删除 字段,添加唯一约束 查看.删除.添加 表中的索引 扩展功能,字段值自增等 数据表高级操作 克隆表,将数据表的数据记录生成到新的表中 删除记录后主键记录重头开始自增 创建临时表 创建外键约束,保证数据的完整性和一致性 MySQL 六种约束 数据库中有数据表,数据表中有一条一条的记录. 可以用Navicat 等远程连接工具链接数据库,不过数据库需要开

  • 关于SQL Server中bit类型字段增删查改的一些事

    前言 本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看"诡异"的一幕,执行Update成功,但是查询出来的结果依然是1,而不是Update的2 当别人问起我来的时候,本人当时也是处于懵逼状态的,后面联想具体的业务突然想起来这个字段是bit类型的 如果把这个现象跟BIT类型字段连续起来就不觉得奇怪了. 废话不多,直接上代码看结果就好了. 先建一个测试表 CREATE TABLE TestBIT ( Id INT IDENTITY(

随机推荐