Mybatis 增删改查实现

在已经实现前面的代码例子后
后续我们只需要修改接口,mapper配置文件,主程序就可以了

实现查询功能

接口:

package dao;

import pojo.User;

import java.util.List;

public interface UserDao {
    List<User>  getUserList();
    //根据ID查询用户
    User getUserByid(int id);
}

配置文件

<?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">
<!--namespace对应接口名字-->
<mapper namespace="dao.UserDao">
    <!--select id 对应方法名字-->
    <select id="getUserList" resultType="pojo.User">
    select * from mybatis.user
    </select>

    <select id="getUserByid" resultType="pojo.User" parameterType="int">
    <!--#{id}就是接口方法的参数名字-->
        select * from mybatis.user where id=#{id}
    </select>
</mapper>

主程序

import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utiles.MybatisUtiles;

import java.util.List;

public class Mytest {
    @Test
    public void test(){
        //获取sqlSession
        SqlSession sqlSession = MybatisUtiles.getSqlSession();
        //执行Sql语句
        //方法一
        UserDao mapper = sqlSession.getMapper(UserDao.class);
//        List<User> userList = mapper.getUserList();
//        for (User user : userList) {
//            System.out.println(user);
//        }
        User user = mapper.getUserByid(1);
        System.out.println(user);
        //关闭
        sqlSession.close();

    }

}

实现添加功能

接口

package dao;

import pojo.User;

import java.util.List;

public interface UserDao {
    List<User>  getUserList();
    //根据ID查询用户
    User getUserByid(int id);
    void addUser(User user);
}

配置文件

<?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">
<!--namespace对应接口名字-->
<mapper namespace="dao.UserDao">
    <!--select id 对应方法名字-->
    <select id="getUserList" resultType="pojo.User">
    select * from mybatis.user
    </select>

    <select id="getUserByid" resultType="pojo.User" parameterType="int">
        select * from mybatis.user where id=#{id}
    </select>

    <select id="addUser" parameterType="pojo.User">
        <!--由于对象有设置标准的getset方法 可以直接使用属性表示-->
        insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd});
    </select>
</mapper>

主程序

import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utiles.MybatisUtiles;

import java.util.List;

public class Mytest {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtiles.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        User user=new User(3,"小a同学","123456");
        mapper.addUser(user);
        //如果没有自动提交事务需要这句语句 sqlSession.commit();
        sqlSession.close();
    }

}

实现修改功能

接口

void updateUser(User user);

配置文件

<?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">
<!--namespace对应接口名字-->
<mapper namespace="dao.UserDao">
    <!--select id 对应方法名字-->
    <select id="getUserList" resultType="pojo.User">
    select * from mybatis.user
    </select>

    <select id="getUserByid" resultType="pojo.User" parameterType="int">
        select * from mybatis.user where id=#{id}
    </select>

    <select id="addUser" parameterType="pojo.User">
        <!--由于对象有设置标准的getset方法 可以直接使用属性表示-->
        insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd});
    </select>

    <select id="updateUser" parameterType="pojo.User">
        update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};
    </select>
</mapper>

主程序

import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utiles.MybatisUtiles;

import java.util.List;

public class Mytest {

    public void test(){
        SqlSession sqlSession = MybatisUtiles.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        User user=new User(3,"小a同学","123456");
        mapper.addUser(user);
        //如果没有自动提交事务需要这句语句 sqlSession.commit();
        sqlSession.close();
    }
    @Test
    public void Update(){
        SqlSession sqlSession = MybatisUtiles.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        User user=new User(3,"小b同学","123456");
        mapper.updateUser(user);
        //如果没有自动提交事务需要这句语句 sqlSession.commit();
        sqlSession.close();
    }
}

实现删除功能

接口

void deleteByid(int id);

配置文件

<?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">
<!--namespace对应接口名字-->
<mapper namespace="dao.UserDao">
    <!--select id 对应方法名字-->
    <select id="getUserList" resultType="pojo.User">
    select * from mybatis.user
    </select>

    <select id="getUserByid" resultType="pojo.User" parameterType="int">
        select * from mybatis.user where id=#{id}
    </select>

    <select id="addUser" parameterType="pojo.User">
        <!--由于对象有设置标准的getset方法 可以直接使用属性表示-->
        insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd});
    </select>

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

    <select id="deleteByid" parameterType="int" >
        delete from mybatis.user where id=#{id};
    </select>
</mapper>

主程序

import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utiles.MybatisUtiles;

import java.util.List;

public class Mytest {

    public void test(){
        SqlSession sqlSession = MybatisUtiles.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        User user=new User(3,"小a同学","123456");
        mapper.addUser(user);
        //如果没有自动提交事务需要这句语句 sqlSession.commit();
        sqlSession.close();
    }

    public void Update(){
        SqlSession sqlSession = MybatisUtiles.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        User user=new User(3,"小b同学","123456");
        mapper.updateUser(user);
        //如果没有自动提交事务需要这句语句 sqlSession.commit();
        sqlSession.close();
    }
    @Test
    public void Delete(){
        SqlSession sqlSession = MybatisUtiles.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        mapper.deleteByid(3);
        //如果没有自动提交事务需要这句语句 sqlSession.commit();
        sqlSession.close();
    }
}

posted @ 2021-04-04 20:57  一个经常掉线的人  阅读(52)  评论(0)    收藏  举报