【 MyBatis 】使用 IDEA 實現 MyBatis 框架的增刪改查

準備工作

搭建MyBatis環境:https://blog.csdn.net/weixin_42193813/article/details/106707622

在搭建好環境之後,會有如下整體結構,而且已經實現了簡單的查詢功能,確保運行成功,以說明環境搭建正確

實現增刪改查

一、在接口中定義方法

  • 兩個查詢功能:一個是查詢全部用戶,一個是根據ID查詢指定用戶
  • 還有插入、修改、刪除其中某個用戶
package com.robot.dao;

import com.robot.pojo.User;

import java.util.List;

public interface UserMapper {
    // 查詢全部用戶
    List<User> getUserList();

    // 根據ID查詢用戶
    User getUserById(int id);

    // 插入用戶
    int addUser(User user);

    // 修改用戶
    int updateUser(User user);

    // 刪除用戶
    int deleteUser(int id);
}

二、編寫對應的xml文件

接口中的每個方法都對應xml中的一個實現功能

  • id:對應接口中的方法名
  • resultType:方法返回類型
  • parameterType:參數類型

(注意:如果運行時出現亂碼問題,將此文件中的中文註釋刪掉)

<?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.robot.dao.UserMapper">
<!--    select all-->
    <select id="getUserList" resultType="com.robot.pojo.User">
        select * from mybatis.user
    </select>

<!--    select one-->
    <select id="getUserById" parameterType="int" resultType="com.robot.pojo.User">
        select * from mybatis.user WHERE id = #{id}
    </select>

<!--    add user-->
    <insert id="addUser" parameterType="com.robot.pojo.User">
        insert into mybatis.user (id, name, pwd) values (#{id}, #{name}, #{pwd})
    </insert>

<!--    update user-->
    <update id="updateUser" parameterType="com.robot.pojo.User">
        update mybatis.user set name=#{name}, pwd=#{pwd} where id=#{id};
    </update>

<!--    delete user-->
    <delete id="deleteUser" parameterType="int">
        delete from mybatis.user where id = #{id}
    </delete>
</mapper>

三、測試

在測試類中分別測試每種功能

package com.robot.dao;

import com.robot.pojo.User;
import com.robot.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserDaoTest {

    @Test
    public void getUserListTest() {
        // 1.獲得SqlSession對象
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        // 2.執行SQL
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        List<User> userList = userMapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }

    @Test
    public void getUserByIdTest() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.getUserById(1);
        System.out.println(user);
        sqlSession.close();
    }

    @Test
    public void addUserTest() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        int res = userMapper.addUser(new User(4, "baby2", "123456"));
        System.out.println(res);
        // 提交事務
        sqlSession.commit();
        sqlSession.close();
    }

    @Test
    public void updateUserTest() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        int res  = userMapper.updateUser(new User(4, "mybaby", "125888"));
        System.out.println(res);
        sqlSession.commit();
        sqlSession.close();
    }

    @Test
    public void deleteUserTest() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        userMapper.deleteUser(4);
        sqlSession.commit();
        sqlSession.close();
    }
}

總結

首先搭建MyBatis的工作環境

然後實現增刪改查的功能共需三步

  1. 編寫接口方法
  2. 編寫對應xml中實現的功能
  3. 測試

記得核心配置文件要配置好,實體類要實現無參有參構造方法、setter/getter方法、toString方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章