MyBatis的增删改查操作

CRUD操作总结:只需要修改3处代码即可

特别注意:增删改需要提交事务才能成功操作数据库!!!

即sqlSession.commit();

先在UserMapper中实现接口,而后在xml中写sql语句,最后在测试类中写测试代码!!

Usermapper:

复制代码
package com.lwx.dao;

import com.lwx.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);
}
复制代码

 

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.lwx.dao.UserMapper">

    <!--查询-->
    <select id="getUserList" resultType="com.lwx.pojo.User">
    select * from mybatis.user
  </select>

    <!--按id查询-->
    <select id="getUserById" parameterType="int" resultType="com.lwx.pojo.User">
        select * from mybatis.user where id=#{id}
    </select>

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

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

    <!--删除-->
    <delete id="deleteUser" parameterType="int">
       delete from mybatis.user where id=#{id};
    </delete>
</mapper>
复制代码

测试类:

复制代码
package com.lwx.dao;

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

import java.util.List;

public class UserMapperTest {
    @Test
    public void  test() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        //UserDao mapper = sqlSession.getMapper(UserDao.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 mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.getUserById(1);
        System.out.println(user);


        sqlSession.close();

    }

    @Test
    public void addUserTest(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int res = mapper.addUser(new User(5, "睡觉", "123485"));
        if(res>0){
            System.out.println("插入成功!");
        }
        sqlSession.commit();
        sqlSession.close();
    }

    @Test
    public void updateUserTest(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.updateUser(new User(4,"乌鱼","123478"));
        sqlSession.commit();
        sqlSession.close();
    }

    @Test
    public void deleteUserTest(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.deleteUser(4);
        sqlSession.commit();
        sqlSession.close();
    }
}
复制代码

 

posted @   水牛打老鼠  阅读(671)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css
点击右上角即可分享
微信分享提示