WHCSRL 技术网

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

前言

其实过程并不复杂,我只是写这么一个东西来继续练习一下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
    


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

然后去写我们的实体类,放在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;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

写上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();
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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;
    } 


}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

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();
    } 
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

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

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

推荐阅读