Springboot整合Mybatis(纯注解开发版)

234 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

前言

其实过程并不复杂,我只是写这么一个东西来继续练习一下springboot和mybatis的一些使用,纯当复习用。

正文

第一步,创建一个新的Module的maven工程。这里我们使用Spring Initializr这么一个快捷创建springboot应用的方式快速创建: 在这里插入图片描述 下面就根据自己的需要,一步一步创建就行了,不会的在我的Springboot框架学习的专栏中有另一篇文章做过相关介绍,这里不再赘述(因为真的很简单)。 因为是整合mybatis,所以我们需要引入下面这几个包依赖(图中红圈勾起来的): 在这里插入图片描述 从上往下的依赖分别是: Lombok:

用来简化JavaBean的编写,就是我们可以不用再写对应的get、set方法以及toString啊构造方法什么的。

SpringWeb:

这个很好理解了,就是我们JavaWeb的SpringMVC框架。

Mybatis Framework:

这个就是Mybatis框架了,我们将其整合进来。

MySQL Driver:

因为数据库用的是MySQL,所以我们需要这个驱动。

然后创建工程,工程目录如下: 在这里插入图片描述 打开pom文件,可以看见之前我们勾上的场景启动器都有了: 在这里插入图片描述 现在我们准备一个数据库springdb,创建一个user表: 在这里插入图片描述 然后我们去resources目录下的application文件中配置我们的数据库:

# 配置数据库
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/springdb
    username: root
    password: 121314
    driver-class-name: com.mysql.jdbc.Driver
    


然后去写我们的实体类,放在entity包下:

package com.haha.demo.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private int id;
    private String name;
    private String email;
    private int age;
}

写上mapper文件在mapper包下:

package com.haha.demo.mapper;

import com.haha.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserMapper {
    //查询所有方法
    @Select("select * from user")
    public List<User> findAll();
}

Mapper层也就是数据层写对应的SQL语句,给出处理数据的接口。 然后去写业务层service:

package com.haha.demo.service;

import com.haha.demo.entity.User;
import com.haha.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    //注入属性
    @Autowired
    UserMapper userMapper;

    public List<User> findAll(){
        List<User> list = userMapper.findAll();
        return list;
    } 


}

service层也就是业务层,业务层使用数据层的方法来处理业务逻辑,也就是对数据层接口方法的实现。 然后去写控制层controller:

package com.haha.demo.controller;

import com.haha.demo.entity.User;
import com.haha.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RequestMapping("/user")
@RestController
public class UserController {
    @Autowired
    UserService userService;

    //查询方法
    @GetMapping
    public List<User> findAll(){
        return userService.findAll();
    } 
}

启动项目,访问端口: 在这里插入图片描述

可以看见查询成功,后端以及返回对应的JSON字符串了。