【springboot初学】@RestController注解实现User的增删改查(CURD)

1、引入Spring Web、MySQL Driver、MyBatis Framework、Lombok依赖。

2、新建一张MySQL数据库的表

create table user(
id int primary key auto_increment,
userName varchar(32),
passWord varchar(50)
)charset utf8;

3、配置文件application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8
 
#也可以改端口号
server.port=9000
#数据库登录名
spring.datasource.username=root
#数据库登陆密码
spring.datasource.password=123456
 
#数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8

我的user表在test库下。

4、springboot连接数据库

5、新建model模块、User类,并添加属性,这里User类的属性和数据库中user表的字段对应。

加上@Data注解,可以不用手动添加set和get方法。

package com.example.mysqlmybatis.model;
 
import lombok.Data;
 
@Data
public class User {
 
  private long id;
  private String userName;
  private String passWord;
 
 
}

6、mapper写入数据库【可与UserController对应,逐步写

此时就可将User类与数据库里面的数据对应起来。但还需要写进去,添加Mybatis依赖(开始已经添加过了)。再用mapper方式,mapper的映射关系是一个接口。

新建mapper包、UserMapper接口,这里需要加入@Mapper注解

package com.example.mapper;

import com.example.model.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface UserMapper {

    //1、返回所有用户信息
    @Select("select * from user")
    List<User>getAllUser();

    //2、查找一个用户
    @Select("select * from user where userName=#{userName}")
    User getUser(String userName);

    //3、添加用户信息
    @Insert("insert into user (userName,passWord) values (#{userName},#{passWord})")
    void addUser(String userName,String passWord);

    //4、删除用户
    @Delete("delete from user where userName=#{userName}")
    void delUser(String userName);

    //5、修改用户信息
    @Update("update user set passWord = #{passWord} where userName = #{userName}")
    void updateUser(String userName,String passWord);

}

7、新建controller包、UserController类【功能可逐步写,便于调试

package com.example.controller;


import com.example.mapper.UserMapper;
import com.example.model.User;
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
public class UserController {
    @Autowired
    private UserMapper userMapper;


    //1、返回所有用户信息
    @RequestMapping("/rest/getAllUser")
    public List<User>getAllUser(){
        List<User> list = userMapper.getAllUser();
        return list;
    }

    //2、查找一个用户
    @RequestMapping("/rest/getUser")
    public User getUser(String userName){
        User user = userMapper.getUser(userName);
        return user;
    }

    //3、添加用户
    @RequestMapping("/rest/addUser")
    public String addUser(String userName,String passWord){
        //先查找
        User user = userMapper.getUser(userName);
        if(user!=null){
            //有该用户,不能添加
            return "the user has been registered,please register again";
        }else{
            userMapper.addUser(userName,passWord);
            return "the user "+userName+"  added";
        }
    }

    //4、删除用户
    @RequestMapping("/rest/delUser")
    public String delUser(String userName){
        //先查找
        User user = userMapper.getUser(userName);
        if(user != null){
            //有该用户,可删除
            userMapper.delUser(userName);
            return "the user has been deleted";
        }else{
            return "no found";
        }

    }

    //5、修改用户信息
    @RequestMapping("/rest/updateUser")
    public String updateUser(String userName,String passWord){
        //先查找
        User user = userMapper.getUser(userName);

        if(user!=null){
            //有该用户,可以修改
            userMapper.updateUser(userName, passWord);
            return "update successfully";
        }else{
            return "update......no found";
        }

    }




}

8、测试

输入

http://localhost:9000+方法对应的RequestMapping里面的信息

例如查询所有用户信息,在浏览器端输入:

http://localhost:9000/rest/getAllUser

添加用户信息,在浏览器输入

http://localhost:9000/rest/addUser?userName=xxx&passWord=123456

代码地址:https://github.com/StudyWinter/curd-restcontroller-user

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值