• mybatis从入门到精通(二) 增删查改


    mybatis从入门到精通(二) 增删查改

    一丶前言

      "增删查改"是后台开发的常用操作, 因此, 学习mybatis或者其他orm框架有必要统一学习一下"增删查改".

     

    二丶准备开发环境

      使用"mybatis从入门到精通(一) 入门"准备的开发环境

     

    三丶查 -- <select/>

      UserMapper.java

        User selectUser(@Param("userId") int userId);

      UserMapper.xml

        <select id="selectUser" resultMap="UserMap">
            select * from user where user_id = #{userId}
        </select>

      MybatisTests.java

        @Test
        public void selectTest(){
            // 查询
            User user=userMapper.selectUser(1);
            sqlSession.commit();
            
            System.out.println("name: "+user.getUserName()+", age: "+user.getAge());
    
            Assert.assertEquals(new Integer(1), user.getUserId());
        }

     

    四丶增 -- <insert/>

       UserMapper.java

        void insertUser(@Param("user") User user);

      UserMapper.xml

        <insert id="insertUser">
            insert into user(user_id, user_name, age, country) values (#{user.userId}, #{user.userName}, #{user.age}, #{user.country})
        </insert>

      MybatisTests.java

        @Test
        public void insertTest(){
            // 插入
            User user=createTestUser();
            userMapper.insertUser(user);
    
            sqlSession.commit();  // 需要提交, 数据库才会有数据
            
            User user_=userMapper.selectUser(9);
            Assert.assertEquals(true, user_!=null);
            Assert.assertEquals(new Integer(9), user_.getUserId());
            System.out.println(user_.getUserName());
        }

    五丶改 -- <update/>

       UserMapper.java

        void updateUserNameById(@Param("userId") int userId, @Param("userName") String userName);

      

      UserMapper.xml

        <update id="updateUserNameById">
            update user set user_name=#{userName} where user_id=#{userId}
        </update>

      MybatisTests.java

        @Test
        public void updateTest(){
            User user=userMapper.selectUser(9);
            if(user==null){
                user=createTestUser();
                userMapper.insertUser(user);
    
                sqlSession.commit();  // 需要提交, 数据库才会有数据
            }
            
            //修改
            userMapper.updateUserNameById(9, "update_name");
            sqlSession.commit();
            
            User user_=userMapper.selectUser(9);
            Assert.assertEquals("update_name", user_.getUserName());
        }

     

    六丶删 -- <delete/>

       UserMapper.java

        void deleteUserById(@Param("userId") int userId);

      UserMapper.xml

        <update id="deleteUserById">
            delete  from  user where user_id=#{userId}
        </update>

       MybatisTests.java

        @Test
        public void deleteTest(){
            User user=userMapper.selectUser(9);
            if(user==null){
                user=createTestUser();
                userMapper.insertUser(user);
    
                sqlSession.commit();  // 需要提交, 数据库才会有数据
            }
            
            
            //删除
            userMapper.deleteUserById(9);
            sqlSession.commit();
    
            User user_=userMapper.selectUser(9);
            Assert.assertEquals(null, user_);
        }

      完整源码, 点此查看

     

     

     学习资料:

      mybatis官方文档

     

     

    人生没有彩排,每一天都是现场直播
  • 相关阅读:
    排序算法之希尔排序
    javascript Set data structures
    javascript Dictionary data structures
    javascript linkedlist data structures
    关于Java Collections的几个常见问题
    java NIO中的buffer和channel
    编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A、B、C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示。如:ABCABCABC…… 依次递归
    Java多线程之Callable接口的实现
    Java并发:volatile内存可见性和指令重排
    Lock和synchronized的区别和使用
  • 原文地址:https://www.cnblogs.com/timfruit/p/11161570.html
Copyright © 2020-2023  润新知