欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【 MyBatis 】使用 IDEA 实现 MyBatis 框架的增删改查

程序员文章站 2022-07-12 22:38:29
...

准备工作

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

在搭建好环境之后,会有如下整体结构,而且已经实现了简单的查询功能,确保运行成功,以说明环境搭建正确

【 MyBatis 】使用 IDEA 实现 MyBatis 框架的增删改查

实现增删改查

一、在接口中定义方法

  • 两个查询功能:一个是查询全部用户,一个是根据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方法