百木园-与人分享,
就是让自己快乐。

MyBatis(十四):注解实现增删改查

接上一篇,我们上一篇说到了不配置Mapper.xml文件,直接在接口中使用注解进行映射,这里我们将简单的增删改查全部用注解实现一遍。

一、设置自动提交事务

在去实现之前,我们先想一下我们前面实行增删改的事务时,每次都要手动提交事务,那么有没有什么方法可以自动提交呢,答案是有的。

修改我们的工具类MyBatisUtil.class

将getSqlSession()方法修改如下:

public static SqlSession getSqlSession() {
        return sqlSessionFactory.openSession(true);
    }

嗯,没错,只是加了一个true,但这就是自动提交事务的开关,默认情况下是关闭的。

二、在UserMapper接口中声明相应的方法并作注解

package com.jms.dao;

import com.jms.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface UserMapper {

    @Select(\"select * from user\")
    List<User> getUserList();

    //
    @Select(\"select * from user where id=#{id}\")
    User getUserByID(int id);

    //
    @Insert(\"insert into user values(#{id},#{username},#{password})\")
    void insertUser(User user);

    //
    @Update(\"update user set username=#{username},password=#{password} where id=#{id}\")
    void updateUser(User user);

    //
    @Delete(\"delete from user where id=#{id}\")
    void deleteUser(int id);
}

三、junit测试

package com.jms.dao;

import com.jms.pojo.User;
import com.jms.utils.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserMapperTest {

    @Test
    public void test() {
        SqlSession sqlSession = MyBatisUtil.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        List<User> userList = userMapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }
    }

    @Test
    public void select() {
        SqlSession sqlSession = MyBatisUtil.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.getUserByID(10001);
        System.out.println(user);
    }

    @Test
    public void insert() {
        SqlSession sqlSession = MyBatisUtil.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        userMapper.insertUser(new User(10020, \"jms20\", \"123456\"));
    }

    @Test
    public void update() {
        SqlSession sqlSession = MyBatisUtil.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        userMapper.updateUser(new User(10020, \"JMS20\", \"1111111\"));
    }

    @Test
    public void delete() {
        SqlSession sqlSession = MyBatisUtil.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        userMapper.deleteUser(10020);
    }

}

首先我们执行查询全部,看一下目前表中的内容:

 

 然后我们执行根据id进行查询:

 

 

接下来我们去插入一行新的内容,并查询全部看是否插入成功:

 

 多了一行id为10020的,插入成功。

插入成功后我们执行update测试,并查询:

 

 修改成功。

最后删除我们刚刚插入的那条语句并查询:

 

 回到了最初的状态,删除成功。

以上就是使用注解映射来实现增删改查的简单应用了。

 

(本文仅作个人学习记录用,如有纰漏敬请指正)

 


来源:https://www.cnblogs.com/jmsstudy/p/16695265.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » MyBatis(十四):注解实现增删改查

相关推荐

  • 暂无文章