【 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方法

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