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

【mybatis】mybatis-plus简单使用

1、简介

  • MyBatis-Plus(简称MP)是MyBatis的增强工具,它在MyBatis的基础上进行了扩展,以简化开发、提高效率。
  • 本案例是一个MyBatis-Plus的简单使用案例,包括项目的初始化、配置、实体类、Mapper接口以及基本的CRUD操作。

2、实际使用

1. 项目初始化

首先,需要创建一个SpringBoot项目,并添加MyBatis-Plus的依赖。这里使用Maven构建工具,可以在pom.xml文件中添加如下依赖:

<dependency>  <groupId>com.baomidou</groupId>  <artifactId>mybatis-plus-boot-starter</artifactId>  <version>最新版本号</version> <!-- 请替换为当前最新版本号 -->  
</dependency>  
<dependency>  <groupId>mysql</groupId>  <artifactId>mysql-connector-java</artifactId>  <version>8.0.xx</version> <!-- 请替换为适合的MySQL版本 -->  
</dependency>  
<dependency>  <groupId>org.projectlombok</groupId>  <artifactId>lombok</artifactId>  <version>最新版本号</version> <!-- 可选,用于简化实体类代码 -->  
</dependency>

2. 配置数据库连接

application.ymlapplication.properties文件中配置数据库连接信息,例如:

spring:  datasource:  url: jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC  username: root  password: your_password  driver-class-name: com.mysql.cj.jdbc.Driver

3. 实体类

定义一个实体类,使用MyBatis-Plus提供的注解来映射数据库表。例如,有一个用户表user,对应的实体类如下:

import com.baomidou.mybatisplus.annotation.TableId;  
import com.baomidou.mybatisplus.annotation.TableName;  
import lombok.Data;  @Data  
@TableName("user")  
public class User {  @TableId(type = IdType.AUTO)  private Long id;  private String name;  private Integer age;  // 其他字段...  
}

4. Mapper接口

定义一个Mapper接口,继承MyBatis-Plus的BaseMapper接口,这样就可以直接使用MyBatis-Plus提供的增删改查方法了。

import com.baomidou.mybatisplus.core.mapper.BaseMapper;  
import org.apache.ibatis.annotations.Mapper;  @Mapper  
public interface UserMapper extends BaseMapper<User> {  // 这里可以定义一些自定义的SQL方法,如果不需要则无需额外编写  
}

5. Service层

在Service层中注入Mapper接口,实现具体的业务逻辑。

import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.stereotype.Service;  @Service  
public class UserService {  @Autowired  private UserMapper userMapper;  // 添加用户  public boolean addUser(User user) {  return userMapper.insert(user) > 0;  }  // 根据ID查询用户  public User getUserById(Long id) {  return userMapper.selectById(id);  }  // 其他CRUD方法...  
}

6. 测试

在测试类中编写测试方法来验证上述功能的正确性。可以使用JUnit和SpringBoot的测试框架进行测试。

相关文章:

  • SpringBoot怎么单独关闭某个类打印出来的日志?
  • antd+vue——实现table组件跨页多选,已选择数据禁止第二次重复选择
  • 深入理解C++中的锁
  • Linux上脚本备份数据库(升级版)
  • 贪心算法——加工木棍(C++)
  • 上位机图像处理和嵌入式模块部署(mcu 项目1:上位机编写)
  • vue3实现多表头列表el-table,拖拽,鼠标滑轮滚动条优化
  • Batch Size 不同对evaluation performance的影响
  • Stream toArray 好过collect
  • 常用知识点问答
  • 【Spring Boot】Java 持久层 API:JPA
  • 数据结构-第七章(B树和B+树)
  • 每日一道算法题 判断子序列
  • linux 环境报错:Peer reports incompatible or unsupported protocol version
  • sheng的学习笔记-hadoop,MapReduce,yarn,hdfs框架原理
  • 【node学习】协程
  • Angular 2 DI - IoC DI - 1
  • Fastjson的基本使用方法大全
  • Git初体验
  • Git的一些常用操作
  • interface和setter,getter
  • Less 日常用法
  • PHP 的 SAPI 是个什么东西
  • PHP 小技巧
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • vue总结
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何选择开源的机器学习框架?
  • 算法---两个栈实现一个队列
  • 通过git安装npm私有模块
  • 微信支付JSAPI,实测!终极方案
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​flutter 代码混淆
  • ​ubuntu下安装kvm虚拟机
  • #define 用法
  • #define用法
  • (2)STL算法之元素计数
  • (55)MOS管专题--->(10)MOS管的封装
  • (Python第六天)文件处理
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (强烈推荐)移动端音视频从零到上手(上)
  • (三)mysql_MYSQL(三)
  • (十五)使用Nexus创建Maven私服
  • (转)ORM
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ***详解账号泄露:全球约1亿用户已泄露
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .Family_物联网
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Reactor简单使用教程
  • .net 提取注释生成API文档 帮助文档