SpringBoot+Mybatis+Mysql写一个接口

首先我们创建一个springBoot应用程序,如下图
在这里插入图片描述
之后,我们会看到下面的界面,选择Spring Initializr,单击 next
在这里插入图片描述
之后会看到如下界面,填写相关参数,之后单机击next
在这里插入图片描述
之后我们会看到选择jar的界面,添加你的项目中需要用到的jar包。
在这里插入图片描述
再次确认项目名称是否正确,如果没问题,就Finish 至此一个SpringBoot程序就创建完成了。

在这里插入图片描述

我们打开刚刚创建好的项目,打开配置文件。我们刚刚创建好的的配置文件是.properties结尾的,我这边做了改动,这个地方大家随意,改不改都行,就看你们的项目组里面用的是啥。

配置文件内容如下,在这个目录下
在这里插入图片描述

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/elixir?characterEncoding=utf8&useSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456

mybatis:
  mapper-locations: classpath:./mapper/*.xml

之后我们在resources目录下创建mapper文件目录,并创建UserMapper.xml文件,文件内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gsj.fugui.mapper.UserMapper">
  <resultMap id="BaseResultMap" type="com.gsj.fugui.po.User">
    <result column="userId" jdbcType="INTEGER" property="userid" />
    <result column="userName" jdbcType="VARCHAR" property="username" />
    <result column="gender" jdbcType="INTEGER" property="gender" />
    <result column="age" jdbcType="INTEGER" property="age" />
    <result column="position" jdbcType="VARCHAR" property="position" />
    <result column="department" jdbcType="VARCHAR" property="department" />
    <result column="phonenum" jdbcType="VARCHAR" property="phonenum" />
    <result column="status" jdbcType="INTEGER" property="status" />
    <result column="entryTime" jdbcType="TIMESTAMP" property="entrytime" />
    <result column="departureTime" jdbcType="TIMESTAMP" property="departuretime" />
    <result column="portraitAnalysis" jdbcType="VARCHAR" property="portraitanalysis" />
    <result column="one" jdbcType="INTEGER" property="one" />
    <result column="two" jdbcType="INTEGER" property="two" />
    <result column="three" jdbcType="INTEGER" property="three" />
    <result column="four" jdbcType="INTEGER" property="four" />
    <result column="five" jdbcType="INTEGER" property="five" />
    <result column="createTime" jdbcType="TIMESTAMP" property="createtime" />
    <result column="updateTime" jdbcType="TIMESTAMP" property="updatetime" />
  </resultMap>

  <sql id="Base_Column_List">
    userid,username,gender,age,`position`,department,phonenum,status,entrytime,departuretime,portraitanalysis,
    one,two,three,four,five,createtime,updatetime
  </sql>
<!--selectList-->
  <select id="selectList" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from `user`
  </select>

  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from `user`
    where userid = #{userid,jdbcType=INTEGER}
  </select>
  </mapper>

之后在java文件夹下创建相关包,如下图所示。
在这里插入图片描述
在程序的入口
FuguiApplication中添加注解@MAPP而Scan(“com.gsj.fugui.mapper”)
代码如下


import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.gsj.fugui.mapper")
public class FuguiApplication {

    public static void main(String[] args) {
        SpringApplication.run(FuguiApplication.class, args);
    }

}

在po包下创建实体类,与数据库对应,你的数据库是什么样的,你的实体类就是什么样的,要是有关联关系,可以在实体类中一并体现出来,创建一个子类的集合,把该集合关联的类import进来就好了(具体的做法,还得看需求是什么样的)。代码如下

import lombok.Data;

import java.util.Date;

@Data
public class User {
    private Integer userid;

    private String username;

    private Integer gender;

    private Integer age;

    private String position;

    private String department;
    }

之后在controller包下创建UserMapper.java类,该类内容如下:
这里面没有引用server层,因为没有什么复杂的业务,就controller层,直接调用mapper层了

import com.gsj.fugui.mapper.UserMapper;
import com.gsj.fugui.po.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

@RestController
@Slf4j
@RequestMapping("user")
public class UserController {

    @Resource
    private UserMapper userMapper;


    @GetMapping("/selectList")
    public List<User> selectList(){
        List<User> listUser = userMapper.selectList();
        log.info("用户列表为{}",listUser);
        return listUser;
    }


}

然后在mapper包下,创建UserMapper.java 接口,代码如下

package com.gsj.fugui.mapper;

import com.gsj.fugui.po.User;

import java.util.List;


public interface UserMapper {

    List<User> selectList();
}

之后我们就可以启动FuguiApplication项目,鼠标选中右键,选择下图中的Run,就可以启动该项目了
在这里插入图片描述
然后用postman测试一下,也可以用浏览器测试一下,看一下接口能不能调通。

若有问题,欢迎大家留言讨论


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