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

本文详细介绍了如何使用Springboot创建项目,配置数据库连接,实现UserDao接口的SQL操作,并演示了MyBatis的配置和代码编写。通过实际步骤教你完成一个基础的CRUD操作测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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 有需要的同学可以私我加我微信交流沟通

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值