mybatis-plus 基本使用

server/2024/9/22 18:13:55/

1. 引入依赖

首先,pom.xml 中添加MyBatis-Plus的依赖

<!-- Maven中的依赖示例 -->  
<dependency>  <groupId>com.baomidou</groupId>  <artifactId>mybatis-plus-boot-starter</artifactId>  <version>版本</version>  
</dependency>

2. 配置数据源

在Spring Boot项目的配置文件(如application.properties或application.yml)中,配置数据库连接信息,包括数据库的URL、用户名、密码以及驱动类名。

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

3. 实体类

实体类通常对应于数据库中的表。使用MyBatis-Plus的注解可以简化映射过程。

java">import com.baomidou.mybatisplus.annotation.TableId;  
import com.baomidou.mybatisplus.annotation.TableName;  
import java.io.Serializable;  @TableName("user") // 指定实体类对应的数据库表名  
public class User implements Serializable {  private static final long serialVersionUID = 1L;  @TableId // 标识主键字段  private Long id;  private String name;  private Integer age;  // 省略 getter 和 setter 方法  
}

通过@TableName注解指定实体类对应的数据库表名,通过@TableId注解标识主键字段。

4. Mapper 接口

Mapper接口用于定义与数据库交互的SQL语句。可以继承MyBatis-Plus提供的BaseMapper接口,这样就无需编写常见的 CRUD 方法了。

java">import com.baomidou.mybatisplus.core.mapper.BaseMapper;  
import org.apache.ibatis.annotations.Mapper;  @Mapper  
public interface UserMapper extends BaseMapper<User> {  // 如果有特殊的SQL操作,可以在这里自定义方法  
}

5. Service 层

Service层通常包含业务逻辑。可以通过继承MyBatis-Plus的ServiceImpl类来快速实现业务逻辑。

java">import com.baomidou.mybatisplus.extension.service.IService;  
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;  
import org.springframework.stereotype.Service;  @Service  
public class UserService extends ServiceImpl<UserMapper, User> implements IService<User> {  // 在这里可以添加自定义的业务逻辑方法  
}

通过继承ServiceImpl并指定Mapper接口和实体类,可以快速获得基本的CRUD操作。

6. 调用 Service

在Controller或其他组件中,可以注入Service并调用其方法来实现业务逻辑。

java">import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RestController;  @RestController  
public class UserController {  @Autowired  private UserService userService;  @GetMapping("/users")  public List<User> getAllUsers() {  return userService.list(); // 调用Service层的方法获取所有用户列表  }  
}

7. 启动类

确保 Spring Boot 启动类上有@MapperScan注解,以扫描Mapper接口。

java">import org.springframework.boot.SpringApplication;  
import org.springframework.boot.autoconfigure.SpringBootApplication;  
import org.mybatis.spring.annotation.MapperScan;  @SpringBootApplication  
@MapperScan("com.yourpackage.mapper") // 替换为你的Mapper接口所在的

http://www.ppmy.cn/server/22600.html

相关文章

Mysql课堂实训报告

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1、查询某同学的各科成绩2、查询需要参加补考的学生名单3、查询某课程成绩最好的学生姓名4、查询每位同学的成绩平均分5、查询学生的选课信息&#xff0c;要求显…

为“风”转“液”加速,一台宁畅服务器的“全液冷”突围

当节能减排成为全球性的时代议题&#xff0c;数据中心也正在经历一场从传统风冷向液冷&#xff08;水冷&#xff09;过渡的变迁。 但“水进风退”的过程无法一蹴而就。数据中心想通过液冷达到极致能效&#xff0c;同时成本可控&#xff0c;还要解决一系列的产业化、工程化、产品…

【c++】【贪心】排队接水

排队接水 题目难度&#xff1a;中阶 时间限制&#xff1a;1000ms 内存限制&#xff1a;128MB 题目描述 有 n 个人在一个水龙头前排队接水&#xff0c;假如每个人接水的时间为 Ti&#xff0c;请编程找出这 n 个人排队的一种顺序&#xff0c;使得 n 个人的平均等待接水时间最…

【机器学习】概率模型在机器学习中的应用:以朴素贝叶斯分类去为例

概率模型在机器学习中的应用&#xff1a;以朴素贝叶斯分类器为例 一、概率模型的基本原理二、朴素贝叶斯分类器的原理与实现三、朴素贝叶斯分类器的应用与挑战四、结论与展望 在大数据与人工智能时代&#xff0c;概率模型在各个领域发挥着至关重要的作用。概率模型以概率论和统…

Hive 单机版

Hive 安装 前提 安装 hadoop Ubuntu 安装、配置 MySQL 安装 sudo apt install mysql-serverMySQL 配置 假如你不知道 root 用户密码&#xff0c; 需要重置 root 密码 sudo passwd root切换到 root 用户 su - root使用命令 mysql 连接数据库 mysql创建用户管理数据库&a…

第一章、概述(计算机网络笔记1)

一、因特网概述 1.1、网络、互联网&#xff08;互连网&#xff09;和因特网 网络&#xff08;Network&#xff09;由若干结点&#xff08;Node&#xff09;和连接这些结点的链路&#xff08;Link&#xff09;组成。这些链路可以是有线链路也可以是无限链路。 多个网络还可以通…

C# Solidworks二次开发:枚举应用实战(第九讲)

大家好&#xff0c;今天还是介绍我们的枚举应用实战系列。 下面是今天要介绍的枚举&#xff1a; &#xff08;1&#xff09;第一个为swsBearingLoadEndEditError_e&#xff0c;这个枚举值的含义为轴承载荷编辑错误&#xff0c;下面是官方的具体枚举值&#xff1a; MemberDesc…

2024-4-28

今日流水账&#xff1a; 上午&#xff1a; 打CTF总不能爆零吧&#xff0c;所以看群里师傅说 D3CTF 的那道 qemu 逃逸很简单&#xff0c;所以就把他给做了然后还是在配内核环境&#xff0c;服了&#xff0c;还是不行捏~~~下午继续配&#xff0c;啊啊啊 好好的思考了一下&#xf…