Mybatis 框架 ( 三 ) Mybatis-Plus

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

4.Mybatis-plus

官网 : https://www.baomidou.com/

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上封装了大量常规操作,减少了SQL的编写量。

4.1.Maven依赖

使用时通常通过Springboot框架整合使用

并且使用Lombok框架简化实体类

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>

	    <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

		<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

重点注意 :

  1. 与 SpringBoot整合时, 在启动类增加注解 @MapperScan("mapper接口路径 ") 或者 在每一个Mapper类上加 @Mapper注解

这样做的目的是为Spring框架能够扫描到这些Mapper接口, 并进行依赖注入到Service类

  1. Mybatis-Plus 在处理连表查询操作时, 还是要编写SQL语句进行连表的

但是结果集封装不再需要 resultMap 结点, 可以直接通过 resultType属性指向实体类

因为在实体类中通过 注解已经指明 属性与字段的对应关系

4.2.Service层

4.2.1.结构

Mybatis 框架 ( 三 ) Mybatis-Plus

4.2.2.代码

Mybatis-Plus 提供了 IService 接口 及 ServiceImpl实现类, 并封装大量操作方法

接口 :

// 接口
import com.yuan.mybatisplus.entity.Teacher;
import com.baomidou.mybatisplus.extension.service.IService;

public interface TeacherService extends IService<Teacher> {

}

实现类 :

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuan.mybatisplus.entity.Teacher;
import com.yuan.mybatisplus.mapper.TeacherMapper;
import com.yuan.mybatisplus.service.TeacherService;

public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher>
    implements TeacherService{

}

4.2.3.常用方法

.list(); //查询
.list(Wrapper<T>); //条件查询
.getById(Serializable); // 根据主键查询
.save(T); //插入数据
.updateById(T); //以 主键匹配 修改数据
.removeById(Serializable); // 根据 主键 删除
.removeByIds(Collection<? extends Serializable> ); // 根据主键集合 删除多条记录

4.3.Mapper层

4.3.1.结构

Mybatis 框架 ( 三 ) Mybatis-Plus

可以看到 BaseMapper定义了基本操作方法

4.3.2.代码

import com.yuan.mybatisplus.entity.Teacher;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface TeacherMapper extends BaseMapper<Teacher> {

}

4.4.Entity 实体类

在实体类中通过注解说明与数据库表的对应关系

@TableName(value ="表名") // 这个不是必需的

@Data // lombok的注解, 封装了Setter/Getter/ toString()/ 无参构造/ 有参构造 等基本方法, 使代码更简洁

@TableId(type = IdType.AUTO) // 指明主键,

type = IdType.AUTO 用于说明 主键自增长 , 也可以

@TableField(exist = false) // 指明当前属性没有对应的字段

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 教师  teacher
 * @TableName teacher
 */
@TableName(value ="teacher")
@Data
public class Teacher implements Serializable {
    /**
     * 讲师主键
     */
    @TableId(type = IdType.AUTO)
    private Integer tchId;

    /**
     * 讲师姓名
     */
    private String tchName;

    /**
     * 讲师介绍
     */
    private String tchInfo;

    /**
     * 讲师性别
     */
    private Boolean tchSex;

    /**
     * 讲师注册时间
     */
    private Date tchRegTime;

    /**
     * 讲师头像
     */
    private String tchPic;

    /**
     * 登录账号
     */
    private String tchUser;

    /**
     * 登录密码
     */
    private String tchPass;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}

打印 执行的SQL

在配置文件 application.properties 中增加文章来源地址https://www.toymoban.com/news/detail-430185.html

# 在控制台输出执行的SQL语句
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

到了这里,关于Mybatis 框架 ( 三 ) Mybatis-Plus的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【热门框架】Mybatis-Plus入门介绍看这一篇文章就足够了

    MyBatis-Plus 是在 MyBatis 的基础上进行了封装,提供了更加便捷的开发方式,具有简化开发、提高效率等优点。以下是 MyBatis-Plus 的一些特点和用法: 通用 CRUD 操作:MyBatis-Plus 提供了通用的 CRUD 接口,可以直接调用,无需再编写 SQL 语句。例如,可以通过继承 BaseMapper 接口来实现

    2024年02月02日
    浏览(30)
  • 针对mockito框架在单元测试中出现Mybatis-Plus链式调用的解决方案

    1、 调用其他service层方法 2、 调用本service层方法 3、其他问题

    2024年01月24日
    浏览(32)
  • 【Mybatis-Plus】Mybatis-Plus快速入门

    Mybatis-Plus是基于Mybatis的数据库操作组件,其实现的功能完全是Mybatis的功能拓展,不改变Mybatis的使用方式,可以兼容Mybatis的操作方式。 创建一个数据库、一个表进行基础操作: 创建一个Spring项目,项目通过Spring Initlizer创建,不导入任何依赖包,在POM.xml文件中进行依赖导入

    2024年02月07日
    浏览(36)
  • Mybatis-Plus 进阶开发 -- Mybatis-Plus 入门教程(二)

    为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。 (博客的参考源码可以在我主页的资源里找到,如果在学习的

    2024年02月10日
    浏览(37)
  • Mybatis-Plus(三)--Mybatis-Plus配置和条件构造器

    在MP中有大量的配置,其中有一部分是Mybatis原生的配置,另一部分是MP的配置,详情:https://mybatis.plus/config 【1】configLocation--自己单独的MyBatis配置的路径 SpringMVC的xml中写法: 【2】mapperLocations--MyBatis Mapper所对应的XML文件位置 如果你在Mapper中有自定义方法(XML中有自定义实现

    2024年02月15日
    浏览(38)
  • Mybatis-Plus通用枚举功能 [MyBatis-Plus系列] - 第493篇

    历史文章( 文章 累计490+) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《

    2024年02月08日
    浏览(31)
  • mybatis-plus分页total为0,分页失效,mybatis-plus多租户插件使用

    背景:项目使用mybatis分页插件不生效,以及多租户使用时读取配置异常 多租户插件使用遇到的问题: 最开始在MyTenantLineHandler中使用 @Value(\\\"${tables}\\\"),服务启动时能从配置中心拉取到配置,但在运行时获取到的值为空,试了很多方法都不生效,后面将配置中心的配置在调用My

    2024年02月06日
    浏览(37)
  • Mybatis-Plus

    官方网站     MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。   无侵入 :只做增强不做改变,引入它不会对现有工程产

    2024年01月15日
    浏览(26)
  • MyBatis-plus-01

    Mybatis-Plus是一个开源的持久层框架,是对Mybatis框架的增强和扩展。它简化了基于Mybatis的DAO开发,提供了一些常用的增强功能,使开发者可以更加方便、快速地进行数据库操作。 Mybatis-Plus提供了一系列的注解和API,可以通过简单的配置就实现常见的数据库操作,比如增删改查

    2024年01月19日
    浏览(25)
  • MyBatis-Plus(详细)

    MyBatis-Plus (简称 MP)是一个 MyBatis (opens new window)的 增强工具 ,在 MyBatis 的基础上只做增强不做改变,为 简化 开发、 提高效率 而生。 MybatisPlus 可以节省大量时间,所有的 CRUD (增查改删)代码都可以自动化完成 无侵入 :只做增强不做改变,引入它不会对现有工程产生影响

    2024年01月23日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包