首页 > 其他分享 >mybatis-plus是什么框架,使用起来简单吗?文末有彩蛋

mybatis-plus是什么框架,使用起来简单吗?文末有彩蛋

时间:2023-06-10 18:11:06浏览次数:45  
标签:mapper com 接口 彩蛋 plus mybatis import 文末

mybatis框架我们都熟悉了,是用来操作数据库的属于ORM框架。mybatis-plus是什么框架,看名称和手机似的,带有plus一定是加强版,其官网是:MyBatis-Plus (baomidou.com)

开始mybatis-plus的实践吧。

一、环境及依赖

这里,基于springboot集成mybatis-plus。先看下具体的版本,

springboot:2.3.3.RELEASE

mybatis-plus-boot-starter:3.5.0

mysql驱动:8.0.32

由于mybatis-plus是基于mybatis的,这里引入mybats-plus后就不必引入mybatis的依赖了。官网也给出了提醒,

二、配置文件

引入依赖后,下面看mybatis-plu需要哪些配置文件。由于mybatis-plus是基于mybatis的,不会对其作任何改变,所以任何mybatis的配置都不需要作改变,包括数据源的配置及mapper-locations。application.yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
    username: root
    password: 123456
    type: com.zaxxer.hikari.HikariDataSource
mybatis:
  mapper-locations: classpath*:mapper/*.xml

也可以使用这个配置,

mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml

都是可以的。另外,mybatis-plus还有很多配置,可以自行去探究。

四、使用mybatis-plus

mybatis-plus对单表CRUD提供了方便的API,已经默认了很多方法,主要体现在下面两个接口,

Service接口

Mapper接口

在单表的CRUD操作可以继承这两个接口,会少写很多代码。

看下mapper接口

package com.wcj.my.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wcj.my.entity.User;

/**
 * @date 2023/6/8 15:18
 */
public interface UserMapper extends BaseMapper<User> {
}

继承了BaseMapper接口,给了一个泛型User,User则是和数据库表一一对应的实体。

看下service接口,这里做了一些处理,所以没有集成IService接口。

package com.wcj.my.service;

import com.wcj.my.dto.UserDto;
import com.wcj.my.entity.User;
import com.wcj.my.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * @date 2023/6/8 15:19
 */
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public boolean saveUser(UserDto userDto){
        User user=new User();
        user.setUName(userDto.getName());
        user.setUCode(userDto.getCode());
        user.setUAge(userDto.getAge());
        user.setUAddress(userDto.getAddress());
        int num=userMapper.insert(user);
        if(num>0){
            return true;
        }
        return false;
    }

}

最后就是controller了,就是调用Service层的接口。IService和BaseMapper接口可以选择继承,也可以不继承,根据实际情况而定。

使用mybatis-plus的一个简单插入操作就是这些了,很简单,相对于mybatis来说,多了IService和BaseMapper接口,在单表操作时会减少很多代码的编写。

除了上面的这些功能,mybatis-plus还有其他功能,像主键生成策略、自定义ID、逻辑删除等,总体来说通过官网都可以实现,这里就不一一演示了。

五、总结

mybatis-plus是对mybatis的一个增强,简化mybatis的操作,使开发更简便。

1、集成使用mybatis-plus-boot-starter依赖;

2、配置文件使用mybatis的即可,另外mybatis-plus也有自己的配置;

3、单表操作建议继承IService、BaseMapper接口;

最后,本文用到的源码均可关注下方公众号获得。另外,关注公众号回复”45“可获得一份极客时间的”mysql实战45讲“,很干的干货!

 

标签:mapper,com,接口,彩蛋,plus,mybatis,import,文末
From: https://www.cnblogs.com/teach/p/17471659.html

相关文章

  • Quizlet Plus 获取
    QuizletPlus获取基本流程:申请一个临时邮箱去注册,然后邀请一个新人(也是临时邮箱),这样原来的邮箱就会变成30天高级账号(注意所有的注册都应该勾选"Iamateacher"!)(1)注册临时邮箱打开浏览器搜索tempmail(或直接点击链接......
  • 项目管理工具----普加项目管理中间件(PlusProject )入门教程(2):如何初始化
    普加项目管理中间件是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。要在页面上显示基本甘特图,请执行1. 在页面上包含PlusProject代码文件。2. 在页面上创建一个3. 使用new方法在新创建的容器中初始化PlusProje......
  • 卷积神经网络-全面图解-带你了解前向后向传播的所有细节(文末代码)
    卷积神经网络-全面图解-带你了解前向后向传播的所有细节综述本文将会从基础的前馈神经网络入手,通过bp神经网络,引出卷积神经网络,并把专门的重点放在如何理解和实现卷积神经网络的卷积层、下采样层、全连接层、以及最终的softmax的反向传播的理解。最后实现基于python的车标识别6分类......
  • SmartPRO 5000U-PLUS NXP 芯片支持列表
    CP3268@1QFP100EM773FHN33/301@QFN33EM773FHN33/302@0FN33JN5168JN5168_UARTJN5169JN5169_OnLineLPC1111FDH20/002@S0P20LPC1111FHN33/101@Q0FN33LPC1111FHN33/102@QFN33LPC1111FHN33/103@QFN33LPC1111FHN33/201@Q0FN33LPC1111FHN33/202@QFN33LPC1112FDH20/102LPC1112FD......
  • SMARTPRO 5000U-Plus Programmer 烧写验证
    最新购置了一款周立功烧写器SMARTPRO5000U-PlusProgrammer,与原西尔特SUPERPRO6100对芯片的烧写支持进行对比,操作方式基本相同一、软件安装1.编程器驱动 从光盘获取程序,根据电脑的不同,安装的复杂程度不同,使用64位电脑安装较为复杂,需要修改boot(有的也不需要,我的电脑就不需......
  • Xshell/Xftp/Xlpd Plus 7:官方免破全功能无限制版(2023更新)
    XshellPlus7是一款集成了Xshell7(SSH客户端)和Xftp7(SFTP客户端)的软件套餐,可以让您在访问远程终端的同时,进行多窗口的文件传输和编辑,大大提高您的工作效率。XshellPlus7支持多种协议,如SSH,SFTP,TELNET,RLOGIN,SERIAL等,还具有强大的安全性和可定制性。本文将为您详细介绍XshellPlus......
  • vue3使用ElementPlus的消息el-message样式不生效或者被遮盖(z-index)
    一、el-message自定义样式不生效想改弹出框的位置时不生效,使用了el-message的自定义类的custom-class属性也不行。原因应该是加了scoped后使用到里面样式的dom会添加data-v-xxxx这种属性防止css污染,但是message生成的dom是没有添加data-v-xxx属性的,所以样式无效。解决方式:js动态设......
  • mybatis-plus分页插件新版本失效问题
    背景搭建新环境时,升级了下mybatis-plus的版本到3.5.3.1,结果发现原本的分页插件PaginationInterceptor已被剔除,从官网得知需使用PaginationInnerInterceptor,在此记录一下。<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifa......
  • 宏_cplusplus
    宏_cplusplus 类别:部分人在C与C++混合编写的代码中,我们常常会在头文件里看到如下的声明:#ifdef___cplusplusextern"C"{#endif//一些代码#ifdef__cplusplus}#endif这种类型的头文件可以被#include到C文件中进行编译,也可以被#include到C++文件中进行编译。由于extern......
  • Mybatisplus分页插件
    两个依赖都需要,否则分页无效<dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>3.1</version></dependency><dependency&......