Springboot项目操作数据库返回JSON接口

一、Springboot项目目录创建

首先我们新建一个springboot项目 不会的同学可以看我上一篇博客 此处跳过

  • 首先看一下我的项目目录
    在这里插入图片描述
  • 我们进行必要的包创建 此处新建了四个包三个类 注意我们的UserDao类需要改成接口
    按照我的目录结构进行创建就可以

在这里插入图片描述

二、sql表创建

  • 我们选择一个数据库 新建user表 表结构如下 表名为user
    在这里插入图片描述

三、编写代码操作sql

3.1 首先进行配置文件配置

  • 引入必要pom依赖

      <!--mybatis相关依赖 -->
      <dependency>
          <groupId>org.mybatis.spring.boot</groupId>
          <artifactId>mybatis-spring-boot-starter</artifactId>
          <version>2.1.3</version>
      </dependency>
    
      <!-- mysql相关依赖 -->
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.11</version>
      </dependency>
    
  • 进行application.properties 配置文件配置

#数据库配置
#                                           此处需要与数据库名对应
spring.datasource.url=jdbc:mysql://localhost:3306/xu?characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
#                            此处需要与包名对应
mybatis.type-aliases-package=com.example.demo.model
mybatis.mapper-locations=classpath:mapper/*.xml

3.2 代码编写

  • 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">
<!--        此处namespace需要与包名userdao相对应 -->
<mapper namespace="com.example.demo.dao.UserDao">
		<!--  此处id需要与userdao的方法名相对应       -->
    <select id="selectUser" resultType="User">
        select * from user
    </select>


</mapper>
  • UserDao
package com.example.demo.dao;

import com.example.demo.model.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper
public interface UserDao {
    
    
	//  此处方法名需要与mapper的id对应    
    public List<User> selectUser();
}
  • User实体类
package com.example.demo.model;

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

@Data    // 为属性加上getset方法
@AllArgsConstructor  //有参构造方法
@NoArgsConstructor   //无参构造方法

public class User {
    
    
    private int id;
    private String username;
    private String password;
}



  • UserService
package com.example.demo.service;

import com.example.demo.dao.UserDao;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service //将类交由spring管理
public class UserService {
    
    
    @Autowired    //注入userDao对象
    private UserDao userDao;

    public List<User> selectUser(){
    
    
        return userDao.selectUser();
    }
}


  • UserController
package com.example.demo.controller;


import com.example.demo.model.User;
import com.example.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;

@RestController//交由spring管理
public class UserController {
    
    
    @Autowired //注入service对象
    private UserService userService;

    @GetMapping ("test") //仅限get请求 路径为 test
    public List<User> test(){
    
    
        return userService.selectUser();
    }

}


四、运行测试

  • sql中添加数据
    在这里插入图片描述
  • 启动启动类 访问端口 http://localhost:8080/test 访问成功

在这里插入图片描述

注:整体流程不算难,具体细节可能会出现bug 有需要的同学可以私我加我微信交流沟通

猜你喜欢

转载自blog.csdn.net/pgcdnameming/article/details/120543119
今日推荐