MyBatis-Plus快速入门

发布时间:2024年01月16日

下面是一个使用 MyBatis-Plus 的基本例子

  1. 添加依赖:

pom.xml 文件中添加 MyBatis-Plus 的依赖:

<dependencies>
    
    <!-- MyBatis-Plus 依赖 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.3.3</version> 
    </dependency>
    
    <!-- MySQL 驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version> 
    </dependency>
</dependencies>
  1. 配置数据库连接:

application.propertiesapplication.yml 中配置数据库连接信息:

# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#对于 MySQL 8.x 版本,你需要在连接 URL 中配置时区。此外,MySQL 8.x 使用的驱动程序类名也发生了变化。(5.x及以下版本使用的驱动为com.mysql.jdbc.Driver)
  1. 创建实体类:
package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
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 username;
    
    private String password;
    
}

在这个例子中,使用了 Lombok 注解 @Data 简化了实体类的编写,@TableId 标记了主键,并通过 type = IdType.AUTO 指定了主键自增。

  1. 创建 Mapper 接口:
package com.example.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
/**
	此处不用添加@Mapper注解,MyBatis-Plus 在运行时会扫描 BaseMapper 的子接口,
	而不需要在接口上加 @Mapper 注解。这是因为 MyBatis-Plus 内部已经做了相应的处理,
	使得接口被识别为 Mapper 接口,但要在Springboot启动程序上添加包扫描注解
	@MapperScan("对应包名")
*/
public interface UserMapper extends BaseMapper<User> {
    // 这里可以添加自定义的查询方法
}

UserMapper 继承了 BaseMapper 接口,无需写具体的 SQL 语句,MyBatis-Plus 会自动生成。

  1. Service 层:
package com.example.demo.service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.stereotype.Service;

@Service
public class UserService extends ServiceImpl<UserMapper, User> {
    // 这里可以添加业务逻辑
}

UserService 继承了 ServiceImpl 类,实现了基本的增删改查方法。

  1. Controller 层:
package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getById(id);
    }

    @PostMapping
    public String saveUser(@RequestBody User user) {
        userService.save(user);
        return "success";
    }

    @PutMapping
    public String updateUser(@RequestBody User user) {
        userService.updateById(user);
        return "success";
    }

    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable Long id) {
        userService.removeById(id);
        return "success";
    }
}

以上是一个简单的 MyBatis-Plus 的使用例子

文章来源:https://blog.csdn.net/m0_46639782/article/details/135630839
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。