SpringBoot之整合Mybatis(增,改,刪)


一,在上一篇文章SpringBoot之整合Mybatis中,我們使用spring boot整合了Mybatis,並演示了查詢操作。接下來我們將完善這個示例,增加增,刪,改的功能。

 

二,改動代碼

  1.修改UserMapper.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="com.zcz.dao.UserDao">
    
    <sql id="base_column_list">
        id,name
    </sql>
    <select id="findAllUser" resultType="com.zcz.entity.User">
        select id,name from user
    </select>
     <select id="findUserById" resultType="com.zcz.entity.User">
         select 
        <include refid="base_column_list"></include>
        from user
        where id = #{id}
     </select>
     <update id="updateUserById" parameterType="com.zcz.entity.User">
         update user set name = #{name} where id = #{id}
     </update>
     <insert id="insertUser" parameterType="com.zcz.entity.User">
         insert into user(name) values (#{name})
     </insert>
     <delete id="deleteById" parameterType="java.lang.Integer">
         delete from user where id = #{id}
     </delete>
</mapper>

  2.修改UserDao ,修改后的代碼:

    

package com.zcz.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.zcz.entity.User;

@Mapper
public interface UserDao {
    public List<User> findAllUser();
    public User findUserById(int id);
    public boolean updateUserById(User user);
    public boolean insertUser(User user);
    public boolean deleteById(int id);
}

  3.修改UserService和UserServiceImpl

  UserService代碼如下:

    

package com.zcz.service;

import java.util.List;

import com.zcz.entity.User;

public interface UserService {
    public List<User> getUsers();
    public User findUserById(int id);
    public boolean updateUserById(User user);
    public boolean insertUser(User user);
    public boolean deleteById(int id);
}

  UserServiceImpl代碼如下:

    

package com.zcz.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.zcz.dao.UserDao;
import com.zcz.entity.User;
import com.zcz.service.UserService;

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;
    
    @Override
    public List<User> getUsers() {
        // TODO Auto-generated method stub
        return userDao.findAllUser();
    }

    @Override
    public User findUserById(int id) {
        // TODO Auto-generated method stub
        return userDao.findUserById(id);
    }

    @Override
    public boolean updateUserById(User user) {
        // TODO Auto-generated method stub
        userDao.updateUserById(user);
        return true;
    }

    @Override
    public boolean insertUser(User user) {
        // TODO Auto-generated method stub
        userDao.insertUser(user);
        return true;
    }

    @Override
    public boolean deleteById(int id) {
        // TODO Auto-generated method stub
        userDao.deleteById(id);
        return true;
    }

}

4.修改UserController.代碼如下

  

package com.zcz.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.zcz.entity.User;
import com.zcz.service.UserService;

@RestController
@RequestMapping("/user")
public class UserController {
    
    @Autowired
    private UserService userService;
    
    @RequestMapping("/getUser")
    public List<User> getUsers(){
        return userService.getUsers();
    }
    
    @RequestMapping("/addUser")
    public void addUser(HttpServletRequest request) {
        String name = request.getParameter("name");
        User user = new User();
        user.setName(name);
        userService.insertUser(user);
    }
    @RequestMapping("/updateUser")
    public void updateUser(HttpServletRequest request) {
        String name = request.getParameter("name");
        int id = Integer.parseInt(request.getParameter("id"));
        User user = new User();
        user.setName(name);
        user.setId(id);
        userService.updateUserById(user);
    }
    
    @RequestMapping("/getUserOne")
    public User getUserOne(HttpServletRequest request) {
        int id = Integer.parseInt(request.getParameter("id"));
        return userService.findUserById(id);
    }
    @RequestMapping("/deleteUser")
    public void deleteUser(HttpServletRequest request) {
        int id = Integer.parseInt(request.getParameter("id"));
        userService.deleteById(id);
    }
}

三,接下來就是測試

  首先看一下數據庫的數據:

    

  1,測試新增,訪問:http://localhost:8080/user/addUser?name=zhangchengzi

    

  成功

  2,測試更新,訪問:http://localhost:8080/user/updateUser?id=6&name=zhangchengzilala

    

  成功

  3.測試更具id查詢,訪問:http://localhost:8080/user/getUserOne?id=6

    

  成功

  4,測試刪除,訪問:http://localhost:8080/user/deleteUser?id=6

    

  成功

   5.我把源代碼上傳到了github倉庫:https://github.com/ZCC1/learnSpringBootWithMybatis2.git。可以clone下來參考。歡迎star。

 

好了,這樣以來,Spring Boot整合Mybatis,常用的操作,增,刪,改,查全部都實現了。

  


原創不易,轉載請注明出處:https://www.cnblogs.com/zhangchengzi/p/9662639.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM