SpringBoot整合Mybatis实现增删改查

SpringBoot整合Mybatis

    • 一. Mybatis简介
    • 二. 准备工作
      • 创建SpringBoot项目
      • 添加相关依赖
      • 全局配置文件
      • 创建数据表
    • 三. 增删改查
      • 创建实体类
      • 创建mapper接口
      • service业务层
      • Controller控制层
    • 四.测试

一. Mybatis简介

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

二. 准备工作

创建SpringBoot项目

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

添加相关依赖

<dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>2.0.1version>
        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 如下图:
SpringBoot整合Mybatis实现增删改查_第1张图片
使用配置的druid可以实现监控功能。
SpringBoot整合Mybatis实现增删改查_第2张图片

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

你可能感兴趣的:(spring,boot,java,spring)