Mybatis实现数据的增删改查

Mybatis实现数据的增删改查

大致思路


只需对三个部分的文件代码进行编写java

  • 在对应接口添加方法。sql

  • 在绑定的接口的 x m l xml xml文件实现该方法。apache

  • T e s t Test Test类中使用该方法。session


例子1:经过id查询用户。

1.在对应接口添加方法。mybatis

public interface UserMapper { 
    //经过id查询用户
    User getUserById(int id);
}

2.在绑定的接口的 x m l xml xml文件实现该方法。app

<!--这里的参数类型是int,由于是经过id查询-->
<select id="getUserById" parameterType="int" resultType="com.harris.pojo.User">
        select * from mybatis.user where id= #{id}
    </select>

3.在 T e s t Test Test类中使用该方法。ide

@Test
    public void getUserById(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.getUserById(2);
        System.out.println(user);
        sqlSession.close();
    }

例子1:添加用户。

1.在对应接口添加方法。spa

//添加用户
    int addUser(User user);

2.在绑定的接口的 x m l xml xml文件实现该方法。code

<insert id="addUser" parameterType="com.harris.pojo.User">
       insert into mybatis.user(id, name, pwd) VALUES (#{id},#{name},#{pwd})
    </insert>

3.在 T e s t Test Test类中使用该方法。xml

@Test
    public void addUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int flag = mapper.addUser(new User(3,"harris","123134"));
        if(flag>0){
            System.out.println("插入成功");
        }
        sqlSession.commit();//增删改须要提交事务
        sqlSession.close();
    }

这里须要注意的是增删改都须要进行提交事务即调用 c o m m i t ( ) commit() commit()方法,不然增删改是无效的。


完整的增删查改 C R U D CRUD CRUD

1.UserMapper.java

package com.harris.dao;

import com.harris.pojo.User;

import java.util.List;

public interface UserMapper {
    List<User> getUserList();

    //经过id查询用户
    User getUserById(int id);
    //添加用户
    int addUser(User user);
    //修改用户
    int updUser(User user);
    //删除用户
    int delUser(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">
<mapper namespace="com.harris.dao.UserMapper">
    <select id="getUserList" resultType="com.harris.pojo.User">
        select * from mybatis.user
    </select>
    <select id="getUserById" parameterType="int" resultType="com.harris.pojo.User">
        select * from mybatis.user where id= #{id}
    </select>
    <insert id="addUser" parameterType="com.harris.pojo.User">
       insert into mybatis.user(id, name, pwd) VALUES (#{id},#{name},#{pwd})
    </insert>
    <update id="updUser" parameterType="com.harris.pojo.User">
        update mybatis.user set name=#{name},pwd=#{pwd}  where id = #{id}
    </update>
    <delete id="delUser" parameterType="com.harris.pojo.User">
        delete from mybatis.user where id=#{id}
    </delete>
</mapper>

3.Test类

package com.harris.dao;

import com.harris.pojo.User;
import com.harris.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;

import java.util.List;
import org.junit.Test;

public class UserMapperTest {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> userList = mapper.getUserList();
        for(User user:userList){
            System.out.println(user);
        }
        sqlSession.close();
    }
    @Test
    public void getUserById(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.getUserById(2);
        System.out.println(user);
        sqlSession.close();
    }
    @Test
    public void addUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int flag = mapper.addUser(new User(3,"harris","123134"));
        if(flag>0){
            System.out.println("插入成功");
        }
        sqlSession.commit();//增删改须要提交事务
        sqlSession.close();
    }
    @Test
    public void updUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int flag = mapper.updUser(new User(4,"yyy","654321"));
        if(flag>0){
            System.out.println("修改为功");
        }
        sqlSession.commit();
        sqlSession.close();
    }
    @Test
    public void delUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int flag = mapper.delUser(3);
        if(flag>0){
            System.out.println("删除成功");
        }
        sqlSession.commit();
        sqlSession.close();
    }
}
相关文章
相关标签/搜索