idea创建基于maven的ssm项目【7】完成新增学生信息api

本文档详细介绍了如何使用SSM(Spring、SpringMVC、MyBatis)框架创建一个基于MySQL数据库的学生信息新增API,并进行测试。步骤包括创建实体类、Mapper接口、Mapper XML文件、Service接口、Service实现类以及Controller。测试部分通过浏览器和MySQL命令行验证了API的正确性和数据的插入功能。

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

本节操作将完成新增用户的api,并进行测试。

1、前提约束

  • 安装好mysql数据库
  • 数据库具有student database
  • 账号root,密码zhangli【请根据实际情况确定】
  • 在student database中有t_student表
  • t_student表结构为 ( id int, name varchar(20)),且主键自增

2、创建net.wanho.entity.Student.java类,与t_stu对应,即实体类

package net.wanho.entity;

import java.io.Serializable;

public class Student implements Serializable {
    private int id;
    private String name;

    public Student() {
    }

    public Student(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

3、创建net.wanho.mapper.StudentMapper.java接口。

package net.wanho.mapper;

import net.wanho.entity.Student;

public interface StudentMapper {

    void add(Student student) throws Exception;
}

4、创建net/wanho/mapper/StudentMapper.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="net.wanho.mapper.StudentMapper">
    <!--id的值与接口中方法名同名,parameterType即方法的参数类型,
        useGeneratedKeys即使用自增主键,keyProperty定义了主键-->
    <insert id="add" parameterType="net.wanho.entity.Student" useGeneratedKeys="true" keyProperty="id">
        insert into t_student(name) values(#{name})
    </insert>
</mapper>

5、创建net.wanho.service.StudentServiceI.java接口

package net.wanho.service;

import net.wanho.entity.Student;

public interface StudentServiceI {
    void addStudent(Student student)throws Exception;
}

6、创建net.wanho.service.impl.StudentServiceImpl.java,即上述接口的实现类

package net.wanho.service.impl;

import net.wanho.entity.Student;
import net.wanho.mapper.StudentMapper;
import net.wanho.service.StudentServiceI;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class StudentServiceImpl implements StudentServiceI {

    //注入StudentMapper
    @Resource
    private StudentMapper studentMapper;

    public void addStudent(Student student) throws Exception {
        studentMapper.add(student);
    }
}

7、创建net.wanho.controller.StudentController.java,即api的入口类

package net.wanho.controller;

import com.alibaba.fastjson.JSONObject;
import net.wanho.entity.Student;
import net.wanho.service.StudentServiceI;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

@Controller
public class StudentController {

    @Resource
    private StudentServiceI studentService;

    @RequestMapping(value="/student/add/{name}",method = RequestMethod.GET)
    @ResponseBody
    public JSONObject addStudent(Student student)
    {
        JSONObject ret = new JSONObject();
        try {
            studentService.addStudent(student);
            ret.put("status",200);
            ret.put("msg","add success:"+student.getId());
        }
        catch(Exception e)
        {
            ret.put("status",100);
            ret.put("msg","add error");
            e.printStackTrace();
        }
        return ret;
    }
}

8、测试1

打开浏览器输入http://localhost:8088/student/add/ali,反复执行,会看到返回的主键一直在自增。具体操作如下图所示:

测试新增学生api

(测试新增学生api)


也可以采用如下方式查看是否成功。

 

9、测试2

打开mysql命令行,查看表中数据,具体操作如下图所示:

(mysql命令行查看数据是否插入)

 

至此,我们完成了新增学生的api,并且完成了测试。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值