后端Springboot框架搭建APi接口开发(第二章)

上一章我讲述了如何使用Mybatis操作数据库。这一章我讲述如何利用Sptring框架搭建API接口

第一节:封装SqlSessionFactory工具类

在API操作数据库大量调用SqlSessionFactory,因此应将SqlSessionFactory封装成工具类供方法随时调用

在文件结构中的util文件夹下创建一个MybaitisUtil.java文件

后端Springboot框架搭建APi接口开发(第二章)_第1张图片

文件结构:demo\src\main\java\com\example\demo\util\MybatisUtil.java

package com.example.demo.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

public class MybatisUtil {
    private static SqlSessionFactory sqlSessionFactory = null;

    //    获取sqlSessionFactory
    static {
        try {
            String resource = "Mybatis-config.xml";
            InputStream resourceAsStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //    sqlSession封装
    public static SqlSession sqlSession() {
        SqlSession sqlSession = null;
        if (sqlSessionFactory != null) {
            sqlSession = sqlSessionFactory.openSession();
        } else {
            try {
                System.out.println("程序错误!sqlSessionFactory数据无效");
                System.exit(0);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return sqlSession;
    }
}

第二节:封装json实体类

为了返回给前端的数据更加的好看、直观,因此我们可以将数据已json的格式返回给前端。

第一小节:创建APIResult实体类

在文件结构中的entity文件夹下创建一个APIResult文件,数据结构以success、data、message构成

类名 数据类型 说明
success boolean 用于输出程序是否执行成功,输出格式为布尔值。成功为true,失败为false
data object 用于数据获得的数据,如果没有数据就返回null
message String 用于存放输出的信息,如果没有信息就返回null

后端Springboot框架搭建APi接口开发(第二章)_第2张图片

文件结构:demo\src\main\java\com\example\demo\entity\APIResult.java

package com.example.demo.entity;

import lombok.*;

@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class APIResult {
    private Boolean success;
    private Object data;
    private String message;
}

第二小节:封装APIResult工具类

现在我们写好了APIResult实体类,我们还要写一个对应的工具类调用,与SqlSessionFactory工具类类似

在文件结构中的util文件夹下创建一个APIResultUtil.java文件

后端Springboot框架搭建APi接口开发(第二章)_第3张图片

文件结构:demo\src\main\java\com\example\demo\util\APIResultUtil.java

package com.example.demo.util;

import com.example.demo.entity.APIResult;

public class APIResultUtil {
    public static APIResult apiResult(Boolean success, String message, Object data) {
        APIResult apiResult = new APIResult();
        apiResult.setSuccess(success);
        apiResult.setMessage(message);
        apiResult.setData(data);
        return apiResult;
    }
}

第三节:编写APi接口方法

现在我们封装的SqlSessionFactory和APIResult工具类已经配置完成了,我们现在就可以写APi接口的方法了。

APi接口调用封装的SqlSessionFactory方法,然后通过SqlSessionFactory执行提前编写好的查询SQL语句,获取成功后以Json输出的格式返回给前端。

在文件结构中的controller文件夹下创建一个UserApi.java文件

后端Springboot框架搭建APi接口开发(第二章)_第4张图片

文件结构:demo\src\main\java\com\example\demo\controller\UserApi.java

package com.example.demo.controller;

import com.example.demo.entity.user;
import com.example.demo.mapper.usermapper;
import com.example.demo.util.APIResultUtil;
import com.example.demo.util.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/api")

public class UserApi {
    @RequestMapping("/GetUserList")
    public Object GetUserList() {
        try {
            SqlSession sqlSession = MybatisUtil.sqlSession();
            usermapper mapper = sqlSession.getMapper(usermapper.class);
            List<user> users = mapper.GetUserList();
            sqlSession.close();
            if (users != null) {
                return APIResultUtil.apiResult(true, "获取成功", users);
            } else {
                return APIResultUtil.apiResult(true, "无任何用户数据", null);
            }
        } catch (Exception e) {
            System.out.println("程序错误" + e);
            return APIResultUtil.apiResult(false, "程序错误", null);
        }
    }
}

第四节:启动Springboot主启动器

现在APi接口也编写完成了。现在只需要找到DemoApplication.java的启动类就可以将Stringboot跑起来了。

文件结构:demo\src\main\java\com\example\demo\DemoApplication.java

后端Springboot框架搭建APi接口开发(第二章)_第5张图片

后端Springboot框架搭建APi接口开发(第二章)_第6张图片

在控制台弹出了这些信息,并且没有结束进程。这表示就成功运行起来了

后端Springboot框架搭建APi接口开发(第二章)_第7张图片

第五节:测试接口

测试接口我推荐使用ApiPost软件

新建一个接口,在地址栏填入:http://localhost:8080/api/GetUserList

其中的api与GetUsetList都是在UserApi定义的。

后端Springboot框架搭建APi接口开发(第二章)_第8张图片

下一章讲解APi实现数据库增删改查

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