mybatis从入门到精通 增删查改

Posted timfruit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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官方文档

 

 

以上是关于mybatis从入门到精通 增删查改的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis从入门到精通

mybatis从入门到精通 动态SQL

mybatis从入门到精通 sqlSession API的使用

mybatis从入门到精通 结果映射

MyBatis从入门到精通—MyBatis基础知识和快速入门

MyBatis从入门到精通:select用法