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