当前位置: 首页 > news >正文

mybatis-plus使用指南(1)

快速开始

首先  我们 在创建了一个基本的springboot的基础框架以后,在 pom文件中 引入 mybatisplus的相关依赖

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

 引入依赖成功之后,就可以替换原本的mybatis的依赖了,因为mybatis-plus的宗旨就是

只做增强不做改变,润物细无声   哈哈哈,是不是听起来很牛逼,那么下面我们就开始正式使用 mybatisplus  (后文都简称为 mp)

1. 定义mapper

在之前的mybatis中,我们写所有的基本的crud代码都需要自己定义sql,自己写xml文件,在我们的mp中,他就提供了一个 基础的  BaseMapper 接口,我们只需要 让自己的mapper 接口 继承我们的 BaseMpapper 接口就行了,基础的basemapper接口 已经实现的 基本的crud  ,我们直接调用就可以了

其中 User 是我们对应数据库user表中 的实体类

然后 我们写一个测试类,注入 usermapper  直接一句代码不用写,就可以调用 基本的crud了

 可以看到 我们专门点出来一个方法 更能清晰的看到 basemapper中给我们实现的方法

sql语句的转换规则

我们为什么要在basemapper中写一个 user的 实体,因为·我们要告诉mp 我们要使用哪张表

而且实体的命名也是有规则的

1. @TableName("value")

value 中写的是对应数据库表中的表名

@TableName("user")
public class User {private Long id;private String name;
}

其中还有其他的属性值

2.@TableId

@TableName("user")
public class User {@TableIdprivate Long id;private String name;
}

一般该注解只是指定 实体类对应的数据库的主键

3.@TableFiled

@TableName("user")
public class User {@TableIdprivate Long id;private String name;private Integer age;@TableField("isMarried")private Boolean isMarried;@TableField("concat")private String concat;
}

其中的属性对应的是数据库中的字段名

其他的属性可以参考MyBatis-Plus 官方文档

这是常用的 三个基础注解

http://www.lryc.cn/news/347261.html

相关文章:

  • python自定义x坐标名称
  • 图论专题训练
  • 持续总结中!2024年面试必问 100 道 Java基础面试题(四十二)
  • Linux 之 tail 命令
  • 【Android学习】简单的登录页面和业务逻辑实现
  • Mysql数据库的基础学习
  • CentOS7 安装 Kamailio
  • Tomcat启动闪退问题解决办法
  • 单元测试之JUnit5知识点总结及代码示例
  • 什么是数据平台——企业构建Data+AI的基础数据底座需要的决策参考
  • Oracle 流stream数据的复制
  • 「 安全设计 」68家国内外科技巨头和安全巨头参与了CISA发起的安全设计承诺,包含MFA、默认密码、CVE、VDP等七大承诺目标
  • 【K8S】pod无限重启,报错Back-off restarting failed container
  • 摸鱼文章1
  • 【设计模式】之适配器模式
  • Python轻量级Web框架Flask(13)—— Flask个人博客项目
  • 电商技术揭秘营销相关系列文章合集(4)
  • LeetCode-2391. 收集垃圾的最少总时间【数组 字符串 前缀和】
  • 再有人说数字孪生大屏没有用,用这8条怼回去。
  • 蓝桥杯练习系统(算法训练)ALGO-946 Q神的足球赛
  • 【Android】Kotlin学习之Kotlin方法的声明和传参
  • 微信小程序 17:小程序使用 npm 包和组件应用
  • 【mysql篇】执行delete删除大量数据后,磁盘未清空,为什么?
  • 【Qt 学习笔记】Qt常用控件 | 多元素控件 | Tree Widget的说明及介绍
  • 在Mars3d实现cesium的ImageryLayer自定义瓦片的层级与原点
  • logback日志持久化
  • 函数原型(Function Prototype)、函数定义(Function Definition)和函数声明(Function Declaration)
  • Go有无缓冲channel的区别
  • 【全开源】Fastflow工作流系统(源码搭建/上线/运营/售后/维护更新)
  • 超越传统游戏:生成式人工智能对游戏的变革性影响