准备工作,按照Mybaits 使用框架中的配置文件设置

查询

UserMapper.xml

<select id="queryUser" parameterType="int" resultType="com.company.pojo.Users">
    select * from users where id=#{id}
</select>

测试

    @Test
    public void queryUser() throws Exception{
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        inputStream.close();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        Users user = sqlSession.selectOne("com.company.mapper.UserMapper.queryUser", 2);
        System.out.println(user);
        sqlSession.close();
    }

新增

UserMapper.xml

    <insert id="addUser" parameterType="com.company.pojo.Users">
        insert into users(username,sex,birthday,address)
        values(#{username},#{sex},#{birthday},#{address})
    </insert>

测试

    @Test
    public void saveUser() throws Exception{
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        inputStream.close();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        Users user=new Users();
        user.setUsername("刘备");
        user.setSex('1');
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
        user.setBirthday(simpleDateFormat.parse("2019-10-28"));
        user.setAddress("四川");
        int count = sqlSession.insert("com.company.mapper.UserMapper.addUser",user);
        System.out.println("影响行数:"+count);
        sqlSession.commit();
        sqlSession.close();
    }

更改

UserMapper.xml

    <update id="updateUser" parameterType="com.company.pojo.Users">
        update users set username=#{username},sex=#{sex},birthday=#{birthday},address=#{address} where id=#{id}
    </update>

测试

    @Test
    public void updateUser() throws Exception{
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        inputStream.close();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        Users user=new Users();
        user.setId(1);
        user.setUsername("关羽");
        user.setSex('1');
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
        user.setBirthday(simpleDateFormat.parse("2018-12-01"));
        user.setAddress("荆州");
        int count = sqlSession.update("com.company.mapper.UserMapper.updateUser", user);
        System.out.println("影响行数:"+count);
        sqlSession.commit();
        sqlSession.close();
    }

删除

UserMapper.xml

    <delete id="deleteUser" parameterType="int">
        delete from users where id=#{id}
    </delete>

测试

    @Test
    public void deleteUser() throws Exception{
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        inputStream.close();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        int count = sqlSession.delete("com.company.mapper.UserMapper.deleteUser", 3);
        System.out.println("影响行数:"+count);
        sqlSession.commit();
        sqlSession.close();
    }

注意:增删改操作时,最后手动提交事务,即sqlSession.commit()。否则影响的内容不会更新到数据库。

 

 posted on 2019-07-30 22:13  会飞的金鱼  阅读(83)  评论(0)    收藏  举报