增删改查实现

1. UserMapper.java

package com.jing.dao;

import com.jing.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 deleteUserById(int id);
}

2. 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">


<!--UserMapper.xml:Mapper的配置文件的作用是替代xxxDaoImpl(UserMapper等价于UserDao)-->
<!--绑定接口!!! namespace:对应的接口的全限定名,将配置文件代替实现类与接口绑定-->
<mapper namespace="com.jing.dao.UserMapper">
    <!--一个实现类要重写接口的所有方法,即一个Mapper的配置文件要映射所有的方法,与接口中的方法一一对应(用id标识)-->
    <!--绑定方法!!! id:需要重写的方法名-->
    <select id="getUserList" resultType="com.jing.pojo.User">
        select * from mybastis_test.user;
    </select>

    <select id="getUserById" parameterType="int" resultType="com.jing.pojo.User">
        select * from mybastis_test.user where id = #{id};
    </select>

    <insert id="addUser" parameterType="com.jing.pojo.User">
        insert into mybastis_test.user (id, name, pwd) values (#{id}, #{name}, #{pwd});
    </insert>

    <update id="updateUser" parameterType="com.jing.pojo.User">
        update mybastis_test.user set  name = #{name}, pwd = #{pwd}  where id = #{id};
    </update>

    <delete id="deleteUserById" parameterType="int">
        delete from mybastis_test.user where id = #{id};
    </delete>
</mapper>

3. UserMapperTest.java

增删改需要提交事务,MyBatis默认手动提交,而且已经开启了事务

package com.jing.dao;

import com.jing.pojo.User;
import com.jing.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserMapperTest {

    @Test
    public void test(){

        // 1.获取SqlSession对象
        SqlSession sqlSession = MybatisUtil.getSqlSession();

        // 2.获取UserDao对象,根据注册的Mapper配置文件创建,接口类型的实现类对象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        // 3.执行方法
        List<User> userList = mapper.getUserList();

        // 4.输出结果
        for (User user : userList) {
            System.out.println(user);
        }


        sqlSession.close();
    }

    @Test
    public void getUserById(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        User userById = mapper.getUserById(4);

        System.out.println(userById);

        sqlSession.close();
    }

    @Test
    public void addUser(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        mapper.addUser(new User(4, "赵六", "123456"));

        // 增删改需要提交事务,MyBatis默认手动提交,而且已经开启了事务
        sqlSession.commit();

        sqlSession.close();

    }

    @Test
    public void updateUser(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        mapper.updateUser(new User(4, "赵六", "654321"));

        sqlSession.commit();

        sqlSession.close();

    }

    @Test
    public void deleteUserById(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        mapper.deleteUserById(4);

        sqlSession.commit();

        sqlSession.close();

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值