mybatis學習之刪除和更新用戶例子

1、編寫數據庫映射文件(User.xml)

在配置文件中加入如下代碼

<!--
    刪除用戶
    根據ID刪除用戶
     -->
    <delete id="deleteUser" parameterType="int">
        DELETE from user where id = #{id}
    </delete>
    <!--
    更新用戶
    需要傳入用戶的ID和更新的信息
    parameterType指定User對象,注意:id必須存在
    #{id):從輸入的user對象中獲取ID的屬性值
     -->
    <update id="updateUser" parameterType="pojo.User">
        UPDATE user SET username = #{username} , birthday = #{birthday} , sex = #{sex} , address = #{address}  where id = #{id}
    </update>

2、編寫程序

    //根據ID刪除用戶
    @Test
    public void deleteUserById(){
        //mybatis配置文件
        String resource = "SqlMapConfig.xml";
        SqlSession sqlSession = null;
        try {
            InputStream inputStream = Resources.getResourceAsStream(resource);
            //創建會話工廠,傳入mybatis的配置信息
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            //通過工廠得到SqlSession
            sqlSession = sqlSessionFactory.openSession();
            //通過SqlSession來操作數據庫
            //List中的User泛型,和resultType中指定的類型一致
            sqlSession.delete("test.deleteUser",27);
            //提交事務
            sqlSession.commit();
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            //釋放資源
            sqlSession.close();
        }
    }

    //更新用戶
    @Test
    public void updateUser(){
        //mybatis配置文件
        String resource = "SqlMapConfig.xml";
        SqlSession sqlSession = null;
        try {
            InputStream inputStream = Resources.getResourceAsStream(resource);
            //創建會話工廠,傳入mybatis的配置信息
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            //通過工廠得到SqlSession
            sqlSession = sqlSessionFactory.openSession();
            //通過SqlSession來操作數據庫
            //List中的User泛型,和resultType中指定的類型一致
            User user = new User();
            user.setId(28);
            user.setUsername("fjnmbb124");
            user.setBirthday(new Date());
            user.setSex("1");
            user.setAddress("湖南長沙");
            sqlSession.update("test.updateUser",user);
            System.out.print(user.getId());
            //提交事務
            sqlSession.commit();
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            //釋放資源
            sqlSession.close();
        }
    }

簡單易懂,不再闡述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章