1---pom文件依赖如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2------数据库配置文件相关:
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3----mysql数据库设计
4-----实体层设计:User类
package com.example.demo.entity;
import lombok.Data;
/**
* Created by NanTian
* on 2019/11/14 11:27
*/
@Data
public class User {
private int id;
private String userName;
private int userAge;
private String userAddress;
}
5-----数据库操作层设计:UserMapper接口
package com.example.demo.dao;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
/**
* Created by
* 主要用于操作crud的接口,一般有两种方法与数据库操作交互,
* 1--XML配置文件
* 2--基于注解:@Insert @Select @Update @Delete
* on 2019/11/14 11:31
*/
@Mapper
public interface UserMapper {
/**
* 通过id查询员工
* @param id
* @return
*/
@Select("select * from user where id=#{id}")
public User selectUserById(int id);
/**
* 通过员工姓名查找员工信息 并作为集合返回
* @param userName
* @return
*/
@Select("select * from user where userName=#{userName}")
public List<User> selectUserByName(String userName);
/**
* 插入员工数据
* @param user
*/
@Insert("insert into user(userName,userAge,userAddress)values (#{userName},#{userAge},#{userAddress})")
public void addUser(User user);
/**
* 通过id更新员工
* @param user
*/
@Update("update user set userName=#{userName},userAge=#{userAge},userAddress=#{userAddress}where id=#{id}")
public void updateUser(User user);
/**
* 通过id删除员工信息
* @param id
*/
@Delete("delete from user where id=#{id}")
public void delete(int id);
}
6---控制层方法设计:UserController 类:
注意:postman中测试的userName与id与userAge与userAddress等 要和controller层中的方法的参数保持一致,不然出错误:
package com.example.demo.controller;
import com.example.demo.dao.UserMapper;
import com.example.demo.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Created by NanTian
* on 2019/11/14 11:49
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired(required = false)
UserMapper userMapper;
/**
* 通过id查找员工 ---------------------GET
* @param id
* @return user
*/
@RequestMapping(value ={"/selectUserById"},method = RequestMethod.GET)
public User selectUserById(String id){
User user = userMapper.selectUserById(Integer.parseInt(id));
return user;
}
/**
* 通过员工姓名查找员工
* @param userName
* @return
*/
@RequestMapping(value = {"/selectUserByName"},method = RequestMethod.GET)
public List<User> selectUserByName(String userName){
//postman中传递的参数是controller方法中规定的参数 要保持他们的一致性
return userMapper.selectUserByName(userName);
}
/**
* 通过员工信息添加员工 ---------------------POST
* @param user
*/
@RequestMapping(value = {"/addUser"},method = RequestMethod.POST)
public void addUser(User user){
userMapper.addUser(user);
}
@RequestMapping(value = {"/updateUser"},method = RequestMethod.POST)
public void updataUser(User user){
userMapper.updateUser(user);
}
/**
* 通过员工id删除员工
* @param id
*/
@RequestMapping(value = {"/deleteUser"},method = RequestMethod.POST)
public void deleteUser(String id){
userMapper.delete(Integer.parseInt(id));
}
}
通过postman测试如下:。。。。。。