mybatis-02:mybatis实现增删改查

1、Mapper接口中定义增删改查的方法

public interface UserMapper {
    List<User> selectUser();//查询数据

    User selectUserById(int id);//根据id查数据

    int insertUser(User user);//插入数据

    int updateUser(User user);//修改数据

    int deleteUser(int id);//删除用户
}

2、mapper.xml文件中调用接口中的方法实现增删改查 编写sql语句

  • namespace:文件绑定一个对应的Mapper/Dao接口
  • id:调用的方法名
  • resultType:返回值类型
  • parameterType:参数类型
<mapper namespace="com.liu.mapper.UserMapper">
    <!--resultType:返回类型-->
    <select id="selectUser" resultType="com.liu.pojo.User">
        select * from user
    </select>

    <select id="selectUserById" parameterType="int" resultType="com.liu.pojo.User">
        select * from user where id=#{id}
    </select>

    <insert id="insertUser" parameterType="com.liu.pojo.User">
        insert into user (id,username,pwd) values (#{id},#{username},#{pwd})
    </insert>

    <update id="updateUser" parameterType="com.liu.pojo.User" >
        update user set username=#{username},pwd=#{pwd} where id=#{id}
    </update>

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


</mapper>

3、引入Junit包的依赖去测试代码中测试这些sql

增删改记得提交事务

public class UserDaoTest {

    //查找用户数据
    @Test
    public void selectUser() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //mybatis工具类的getSqlSession方法

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> users = mapper.selectUser();
        for (User user: users){
            System.out.println(user);
        }

        sqlSession.close();
    }

    //根据id查用户数据
    @Test
    public void getUserById(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.selectUserById(4);

        System.out.println(user);

        sqlSession.close();
    }

    //插入一条数据
    @Test
    public void insertUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        int i = mapper.insertUser(new User(4,"东宝","123321"));

        sqlSession.commit();

        if(i>0){
            System.out.println("插入用户成功");
        }

        sqlSession.close();

    }

    //修改一条数据
    @Test
    public void changeUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int p = mapper.updateUser(new User(4, "萍萍", "145821"));
        if(p>0){
            System.out.println("修改成功");
        }

        sqlSession.commit();

        sqlSession.close();
    }

    //删除数据
    @Test
    public void deleteUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int i = mapper.deleteUser(4);
        if(i>0){
            System.out.println("删除成功");
        }
        sqlSession.commit();

        sqlSession.close();
    }
}

mybatis工具类、数据库表的实体类、mybatis配置文件都是不需要做任何修改的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值