SpringBoot_Mybatis+mysql实现CRUD-----基于数据库注解的配置(2)

  SpringBoot_Mybatis+mysql实现CRUD-----基于数据库注解的配置(2)_第1张图片

1---pom文件依赖如下:

      



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.2.1.RELEASE
         
    
    com.example
    demo
    0.0.1-SNAPSHOT
    demo
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.1
        

        
            mysql
            mysql-connector-java
            5.1.21
        
        
            org.projectlombok
            lombok
            true
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


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数据库设计

SpringBoot_Mybatis+mysql实现CRUD-----基于数据库注解的配置(2)_第2张图片

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 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层中的方法的参数保持一致,不然出错误:

SpringBoot_Mybatis+mysql实现CRUD-----基于数据库注解的配置(2)_第3张图片

SpringBoot_Mybatis+mysql实现CRUD-----基于数据库注解的配置(2)_第4张图片

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 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测试如下:。。。。。。

SpringBoot_Mybatis+mysql实现CRUD-----基于数据库注解的配置(2)_第5张图片

你可能感兴趣的:(CRUD,SpringBoot)