当前位置 博文首页 > 文章内容

    Mybatis实现增删改查

    作者: 栏目:未分类 时间:2020-07-19 14:04:20

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    承接上一篇《我的第一个mybatis程序》,继续增加增删改查部分的内容。

    在mybatis环境搭建完成之后,原来的需要的jdbc工作也差不多算是被mybatis框架替代了,我们只需要编写少量的代码就可以实现对数据库的操作。

    环境搭建完成之后,只需要以下三个步骤可以实现增删改查了:

    • UserMapper.java中编写方法的接口

    • UserMapper.xml中编写sql语句

    • Mytest.java中实现测试类

    具体如下:

    • UserMapper.java中编写方法的接口

    <?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=绑定一个对应的Dao/Mapper接口-->
    <mapper namespace="com.wong.dao.UserMapper"><!--select查询语句-->
        <select id="selectUser" resultType="com.wong.pojo.User">
        select * from user
      </select><select id="getUserById" parameterType="int" resultType="com.wong.pojo.User">
            select * from mybatis.user where id= #{id}
        </select><!--对象中的属性可以直接取出来-->
        <insert id="addUser" parameterType="com.wong.pojo.User">
            insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd})
        </insert><!--update-->
        <update id="updateUser" parameterType="com.wong.pojo.User">
            update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
        </update><!--delete-->
        <delete id="deleteUser" parameterType="int">
            delete from mybatis.user where id=#{id}
        </delete></mapper>
    • UserMapper.xml中编写sql语句

    package com.wong.dao;
    ​
    import com.wong.pojo.User;
    ​
    import java.util.List;
    ​
    public interface UserMapper {
        //获取全部查询
        List<User> selectUser();
    ​
        //根据id查询用户
        User getUserById(int id);
    ​
        //insert 一个用户
        int addUser(User user);
    ​
        //修改信息
        int updateUser(User user);
    ​
        //删除用户
        int deleteUser(int id);
    ​
    }
    • Mytest.java中实现测试类

    package com.wong.dao;
    ​
    import com.wong.pojo.User;
    import com.wong.utils.MybatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    ​
    import java.util.List;
    ​
    public class MyTest {
        @Test
        public void selectUser() {
            SqlSession session = MybatisUtils.getSession();
            //方法一:
            //List<User> users = session.selectList("com.wong.mapper.UserMapper.selectUser");
            //方法二:
            UserMapper mapper = session.getMapper(UserMapper.class);
            List<User> users = mapper.selectUser();
    ​
            for (User user: users){
                System.out.println(user);
            }
            session.close();
        }
    ​
        @Test
        public void getUserId(){
            SqlSession session = MybatisUtils.getSession();
    ​
            UserMapper mapper = session.getMapper(UserMapper.class);
            User user = mapper.getUserById(1);
            System.out.println(user);
    ​
            session.close();
        }

       //增删改需要提交事务
        @Test
        public void addUser(){      //
            SqlSession session = MybatisUtils.getSession();
    ​
            UserMapper mapper = session.getMapper(UserMapper.class);
            mapper.addUser(new User(4,"michael","99856"));
    ​
            session.commit();       //提交事务
            session.close();
        }
    ​
        @Test
        public void updateUser(){   //
            SqlSession session = MybatisUtils.getSession();
    ​
            UserMapper mapper = session.getMapper(UserMapper.class);
            int i = mapper.updateUser(new User(4, "Kangkang", "123456789"));
            if (i>0){
                System.out.println("更新成功!");
            }
    ​
            session.commit();       //提交事务
            session.close();
        }
    ​
        @Test
        public void deleteUser(){       //
            SqlSession session = MybatisUtils.getSession();
    ​
            UserMapper mapper = session.getMapper(UserMapper.class);
            int i = mapper.deleteUser(4);
            if (i>0){
                System.out.println("删除成功!");
            }
            session.commit();       //提交事务
            session.close();
        }
    }