SpringBoot整合Mybatis实现增删改查

本文详细介绍了如何在SpringBoot项目中整合Mybatis,包括Mybatis的基本概念、依赖配置、数据表创建、实体类与mapper接口编写、Service与Controller实现,以及实际的增删改查操作和测试。适合初学者快速上手Mybatis在SpringBoot中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. Mybatis简介

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

二. 准备工作

创建SpringBoot项目

这篇文章中有SpringBoot项目的创建:启动SpringBoot《从零开始的Springboot》

添加相关依赖

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

全局配置文件

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

创建数据表

create table user(
id int primary key not null,
userName varchar(32),
userAge varchar(32)

三. 增删改查

创建实体类

public class User {
    private Long id;
    private String userName;
    private Integer userAge;
    //...get/set()
}

创建mapper接口

@Mapper
@Component
public interface UserMapper {
    //查询所有记录
    @Select("select * from user")
    List<User> getUsers();
    //根据id删除记录
    @Delete("delete from user where id =#{id}")
    int delete(int id);
    //更新一条记录
    @Update("insert into user(id,userName,userAge)values(#id,#userName,#userAge)")
    User update(User user);
    //增加一条数据
    @Insert("insert into user(id,userName,userAge)values(#{id},#{userName},#{userAge})")
    User save(User user);
}

由于我在使用@Autowire注解将mapper类自动注入的时候发现can not autowired错误,于是我在类前面加上了@Component将该类标注为一个组件。

service业务层

由于功能简单,就直接在service中直接写,不再写service和对应的实现类了。

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    /*
    查询所有数据
     */
    public List<User> getUsers() {
        return userMapper.getUsers();
    }
    /*
    修改数据
     */
    public User update(User user) {
        return userMapper.update(user);
    }
    /*
    添加一条数据
     */
    public User save(User user) {
        return userMapper.save(user);
    }
    /*
    根据id删除数据
     */
    public int delete(int id) {
        return userMapper.delete(id);
    }
}

Controller控制层

@RestController
public class UserController {

    @Autowired
    private UserService userService;
    @GetMapping("/users")
    public List<User> lists() {
        return userService.getUsers();
    }
    @GetMapping("/delete")
    public int  delete(int id){
        return userService.delete(id);
    }
    @RequestMapping("/update")
    public void update(User user) {
        userService.update(user);
    }
    @RequestMapping("/save")
    public void save(User user) {
        userService.save(user);
    }
}

四.测试

打开浏览器在地址栏输入:localhost:8080/users 如下图:
在这里插入图片描述
使用配置的druid可以实现监控功能。
在这里插入图片描述

部分内容引用:mybatis简介:https://mybatis.org/mybatis-3/zh/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值