MyBatis学习笔记(三)---增删改查

1.查询
查询单个数据就不说了,说一下查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的:

<mapper namespace="com.mybatis.inter.IUserOperation">

    < !-- 为了返回list 类型而定义的returnMap -->
    <resultMap type="User" id="resultListUser">
        <id column="id" property="id"/>
        <result column="userName" property="userName"/>
        <result column="userAge" property="userAge"/>
        <result column="userAddress" property="userAddress"/>
    </resultMap>

    <select id="selectUserByID" parameterType="int" resultType="User">
        select * from `user` where id = #{id}
    </select>

    <select id="queryAllUsers" resultMap="resultListUser">
        select * from user
    </select>
</mapper>

在 IUserOperation 接口中增加方法:public List queryAllUsers( );

然后在测试程序里添加如下的方法便可测试:

    @Test
    public void queryAllUsers() {
        IUserOperation userOperation = session.getMapper(IUserOperation.class);
        List<User> list = userOperation.queryAllUsers();
        System.out.println(list.size());
    }

2.增加用户:
在 IUserOperation 接口中增加方法:public void addUser(User user);
在User.xml里添加:

    <insert id="addUser" parameterType="User" 
        useGeneratedKeys="true" keyProperty="id"> 
        insert into user(userName,userAge,userAddress)  
             values(#{userName},#{userAge},#{userAddress})  
    </insert>

然后就可以写测试文件进行测试了。注意必须提交事务,否则数据库不会更新。

    @Test
    public void addUser() {
        IUserOperation userOperation = session.getMapper(IUserOperation.class);
        User user = new User();
        user.setUserName("bb");
        user.setUserAge("54");
        user.setUserAddress("dsfsfs");

        userOperation.addUser(user);

        session.commit();
    }

3.更新数据
在 IUserOperation 中增加方法:public void updateUser(User user);

在User.xml里面添加:

<update id="updateUser" parameterType="User" >
        update user set userName=
        #{userName},userAge=#{userAge},userAddress=#{userAddress} where id=#{id}
</update>

写测试方法:一定要写commit

    @Test
    public void updateUser() {
        IUserOperation userOperation = session.getMapper(IUserOperation.class);
        User user = new User();
        user.setId(3);
        user.setUserName("sfddsfsdfdsfdsf");
        user.setUserAge("54");
        user.setUserAddress("dsfsfs");

        userOperation.updateUser(user);
        session.commit();
    }

4.删除数据。
IUserOperation 增加方法:public void deleteUser(int id);
在User.xml里面添加:

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

编写测试程序: 一定要写commit:

    @Test
    public void deleteUser() {
        IUserOperation userOperation = session.getMapper(IUserOperation.class);
        userOperation.deleteUser(4);

        session.commit();

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值