MyBatisPlus入门案例与简介

这篇具有很好参考价值的文章主要介绍了MyBatisPlus入门案例与简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1,MyBatisPlus入门案例与简介

这一节我们来学习下MyBatisPlus的入门案例与简介,这个和其他课程都不太一样,其他的课程都是先介绍概念,然后再写入门案例。而对于MyBatisPlus的学习,我们将顺序做了调整,主要的原因MyBatisPlus主要是对MyBatis的简化,所有我们先体会下它简化在哪,然后再学习它是什么,以及它帮我们都做哪些事。


1.1 入门案例

  • MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提供效率。

  • 开发方式

    • 基于MyBatis使用MyBatisPlus
    • 基于Spring使用MyBatisPlus
    • 基于SpringBoot使用MyBatisPlus

SpringBoot刚刚我们学习完成,它能快速构建Spring开发环境用以整合其他技术,使用起来是非常简单,对于MP的学习,我们也基于SpringBoot来构建学习。

学习之前,我们先来回顾下,SpringBoot整合Mybatis的开发过程:

  • 创建SpringBoot工程

    MyBatisPlus入门案例与简介

  • 勾选配置使用的技术,能够实现自动添加起步依赖包

    MyBatisPlus入门案例与简介

  • 设置dataSource相关属性(JDBC参数)

    MyBatisPlus入门案例与简介

  • 定义数据层接口映射配置

    MyBatisPlus入门案例与简介

我们可以参考着上面的这个实现步骤把SpringBoot整合MyBatisPlus来快速实现下,具体的实现步骤为:


步骤1:创建数据库及表

create database if not exists mybatisplus_db character set utf8;
use mybatisplus_db;
CREATE TABLE user (
    id bigint(20) primary key auto_increment,
    name varchar(32) not null,
    password  varchar(32) not null,
    age int(3) not null ,
    tel varchar(32) not null
);
insert into user values(1,'Tom','tom',3,'18866668888');
insert into user values(2,'Jerry','jerry',4,'16688886666');
insert into user values(3,'Jock','123456',41,'18812345678');
insert into user values(4,'传智播客','itcast',15,'4006184000');

步骤2:创建SpringBoot工程

MyBatisPlus入门案例与简介


步骤3:勾选配置使用技术

MyBatisPlus入门案例与简介

说明:

  • 由于MP并未被收录到idea的系统内置配置,无法直接选择加入,需要手动在pom.xml中配置添加

步骤4:pom.xml补全依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.16</version>
</dependency>

说明:

  • druid数据源可以加也可以不加,SpringBoot有内置的数据源,可以配置成使用Druid数据源

  • 从MP的依赖关系可以看出,通过依赖传递已经将MyBatis与MyBatis整合Spring的jar包导入,我们不需要额外在添加MyBatis的相关jar包

    MyBatisPlus入门案例与简介


步骤5:添加MP的相关配置信息

resources默认生成的是properties配置文件,可以将其替换成yml文件,并在文件中配置数据库连接的相关信息:application.yml

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC 
    username: root
    password: root

说明:serverTimezone是用来设置时区,UTC是标准时区,和咱们的时间差8小时,所以可以将其修改为Asia/Shanghai


步骤6:根据数据库表创建实体类

public class User {   
    private Long id;
    private String name;
    private String password;
    private Integer age;
    private String tel;
    //setter...getter...toString方法略
}

步骤7:创建Dao接口

@Mapper
public interface UserDao extends BaseMapper<User>{
}

步骤8:编写引导类

@SpringBootApplication
//@MapperScan("com.itheima.dao")
public class Mybatisplus01QuickstartApplication {
    public static void main(String[] args) {
        SpringApplication.run(Mybatisplus01QuickstartApplication.class, args);
    }

}

说明: Dao接口要想被容器扫描到,有两种解决方案:

  • 方案一:在Dao接口上添加@Mapper注解,并且确保Dao处在引导类所在包或其子包中
    • 该方案的缺点是需要在每一Dao接口中添加注解
  • 方案二:在引导类上添加@MapperScan注解,其属性为所要扫描的Dao所在包
    • 该方案的好处是只需要写一次,则指定包下的所有Dao接口都能被扫描到,@Mapper就可以不写。

步骤9:编写测试类

@SpringBootTest
class MpDemoApplicationTests {

	@Autowired
	private UserDao userDao;
	@Test
	public void testGetAll() {
		List<User> userList = userDao.selectList(null);
		System.out.println(userList);
	}
}

说明:

userDao注入的时候下面有红线提示的原因是什么?

  • UserDao是一个接口,不能实例化对象

  • 只有在服务器启动IOC容器初始化后,由框架创建DAO接口的代理对象来注入

  • 现在服务器并未启动,所以代理对象也未创建,IDEA查找不到对应的对象注入,所以提示报红

  • 一旦服务启动,就能注入其代理对象,所以该错误提示不影响正常运行。

查看运行结果:

MyBatisPlus入门案例与简介

跟之前整合MyBatis相比,你会发现我们不需要在DAO接口中编写方法和SQL语句了,只需要继承BaseMapper接口即可。整体来说简化很多。


1.2 MybatisPlus简介

MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率

通过刚才的案例,相信大家能够体会简化开发和提高效率这两个方面的优点。

MyBatisPlus的官网为:https://mp.baomidou.com/

说明:

MyBatisPlus入门案例与简介

现在的页面中,这一行已经被删除,现在再去访问https://mybatis.plus会发现访问不到,这个就有很多可能性供我们猜想了,所以大家使用baomidou的网址进行访问即可。

官方文档中有一张很多小伙伴比较熟悉的图片:

MyBatisPlus入门案例与简介

从这张图中我们可以看出MP旨在成为MyBatis的最好搭档,而不是替换MyBatis,所以可以理解为MP是MyBatis的一套增强工具,它是在MyBatis的基础上进行开发的,我们虽然使用MP但是底层依然是MyBatis的东西,也就是说我们也可以在MP中写MyBatis的内容。

对于MP的学习,大家可以参考着官方文档来进行学习,里面都有详细的代码案例。

MP的特性:

  • 无侵入:只做增强不做改变,不会对现有工程产生影响
  • 强大的 CRUD 操作:内置通用 Mapper,少量配置即可实现单表CRUD 操作
  • 支持 Lambda:编写查询条件无需担心字段写错
  • 支持主键自动生成
  • 内置分页插件
  • ……

学习笔记 from 黑马程序员

By – Suki 2023/4/6文章来源地址https://www.toymoban.com/news/detail-411033.html

到了这里,关于MyBatisPlus入门案例与简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MyBatis-Plus】入门案例与简介

    1. 入门案例 MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提供效率。 开发方式 基于MyBatis使用MyBatisPlus 基于Spring使用MyBatisPlus 基于SpringBoot使用MyBatisPlus SpringBoot刚刚我们学习完成,它能快速构建Spring开发环境用以整合其他技术,使用起来是非常简

    2024年02月10日
    浏览(41)
  • DAY08_MyBatisPlus——入门案例&标准数据层开发CRUD-Lombok-分页功能&DQL编程控制&DML编程控制&乐观锁&快速开发-代码生成器

    问题导入 MyBatisPlus环境搭建的步骤? 1.1 SpringBoot整合MyBatisPlus入门程序 ①:创建新模块,选择Spring初始化,并配置模块相关基础信息 ②:选择当前模块需要使用的技术集(仅保留JDBC) ③:手动添加MyBatisPlus起步依赖 注意事项1:由于mp并未被收录到idea的系统内置配置,无法直

    2024年02月09日
    浏览(41)
  • 【Unity ShaderGraph】| Shader Graph入门介绍 | 简介 | 配置环境 | 窗口介绍 | 简单案例

    前言 Unity2018版本之后推出了一款名为 Shader Graph 的可编程渲染管线工具。 这个工具可以通过可视化界面拖拽来实现着色器的创建和编辑,大大简化了着色器的制作过程,同时着色效果编译显示也快。 下面就来介绍一下Shader Graph的基本信息及使用方法,上手非常简单,一起来

    2024年02月08日
    浏览(36)
  • 【Spring教程30】Spring框架实战:从零开始学习SpringMVC 之 Rest风格简介与RESTful入门案例

    欢迎大家回到《Java教程之Spring30天快速入门》,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》,本文的上一篇为《SpringMVC 之 服务器响应》 REST(Representational State Transfer),表现形式状态转

    2024年02月04日
    浏览(50)
  • 【MybatisPlus快速入门】—— 进阶入门

    Mybatis 框架之所以能够简化数据库操作,是因为他内部的映射机制,通过自动映射,进行数据的封装,我们只要符合映射规则,就可以快速高效的完成 SQL 操作的实现 既然 MybatisPlus 是基于 Mybatis 的增强工具,所以也具有这样的映射规则 1.1.1 自动映射 表名和实体类名映射 - 表

    2023年04月23日
    浏览(38)
  • mybatisPlus入门篇

    MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具 ,在 MyBatis 的基础上 只做增强不做改变,为简化开发、提高效率而生。 从Mybatis框架的开发效率怎么样?每当我们需要编写一个SQL需求的时候,需要做以下步骤 Mapper接口提供一个抽象方法 Mapper接口

    2024年02月14日
    浏览(25)
  • 01 MyBatisPlus快速入门

    版本 3.5.31 并非另起炉灶 , 而是MyBatis的增强 , 使用之前依然要导入MyBatis的依赖 , 且之前MyBatis的所有功能依然可以使用. 局限性是 仅限于单表操作 , 对于多表仍需要手写 项目结构: 先导入依赖,比之前多了一个mybatis-plus-boot-starter 连接池配置: 实体类: mapper接口: 采用测试

    2024年01月20日
    浏览(32)
  • MyBatisPlus简单入门

    MyBatisPlus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,完全去SQL化,封装好了大量的CRUD操作。甚至吧CRUD操作封装到了Service层,可以直接在Controller调用现成的CRUD服务层,极度舒适省心。 局限:只支持简单的CRUD操作,不支持多表操作(join、union、子查询),

    2024年02月10日
    浏览(32)
  • MybatisPlus框架入门级理解

    入门案例 使用MybatisPlus的基本步骤: 1.引入MybatisPlus的起步依赖 MybatisPlus官方提供了starter,其中集成了Mybatis和MybatisPlus的所有功能,并且实现了自动装配效果。因此,可以使用MybatisPlus的starter代替Mybatis的starter。 pom.xml 2.自定义的Mapper继承MybatisPlus提供的BaseMapper接口 3.在实体类

    2024年01月20日
    浏览(28)
  • Springboot入门之集成MybatisPlus

    MybatisPlus是一个 Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发、提高效率而生。  1.添加依赖【pom.xml】 2.配置数据源信息[application.yml] 3.MybatisPlus拦截器配置 配置后MybatisPlus增加功能生效【如分页等】。 4.编写XxxMapper extends BaseMapperXxxDo; 5.编写XxxService e

    2023年04月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包