SpringBoot整合Mybatis实现增删改查

  • Post author:
  • Post category:其他




一. 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



版权声明:本文为weixin_45462732原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。