MyBatis学习(二)——实现CRUD

一.实现查询

定义更新语句

    <!--查询-->
    <select id="findById" parameterType="int" resultType="User">
        SELECT * FROM user WHERE id = #{id};
    </select>

    <select id="findAll" resultMap="UserMap">
        SELECT * FROM user;
    </select>

    <select id="findByName" resultType="User">
        SELECT * from user WHERE name LIKE CONCAT(#{name},"%");
    </select>

定义更新方法

    User findById(int id);

    List<User> findAll();

    List<User> findByName(String name);

测试

    @Test
    public void testFindById() {
        int id = 1;
        User user = userMapper.findById(id);
        if (user != null) {
            System.out.println(user);
        } else {
            System.out.println("编号为[" + id + "]的用户未找到。");
        }
    }

    @Test
    public void testFindByName() {
        String name = "王";
        List<User> users = userMapper.findByName(name);
        if (users.size()>0) {
            users.forEach(user -> System.out.println(user));
        } else {
            System.out.println("姓名为[" + name + "]的记录未找到。");
        }
    }

    @Test
    public void testFindAll() {
        List<User> users = userMapper.findAll();
        users.forEach(user -> System.out.println(user));
    }

CONTAC:实现拼接

二.实现插入

定义更新语句

<!--插入-->
    <insert id="insert" parameterType="User"
        useGeneratedKeys="true" keyProperty="id">
        INSERT INTO user(name, age, address)
        VALUE (#{name}, #{age}, #{address});
    </insert>

定义更新方法

int insert(User user);

测试

@Test
    public void testInsert() {
        User user = new User();
        user.setName("王仪涵");
        user.setAge(25);
        user.setAddress("龙马潭区长桥路2号");
        int count = userMapper.insert(user);
        session.commit(); //提交数据库
        if (count > 0 ) {
            System.out.println("记录插入成功!");
            System.out.println("插入新记录:" + user);
        } else {
            System.out.println("记录插入失败!");
        }
    }

三.实现修改

定义更新语句

    <!--修改-->
    <update id="update" parameterType="User">
        UPDATE user SET name = #{name}, age = #{age}, address = #{address}
        WHERE id = #{id}
    </update>

定义更新方法

int update(User user);

测试

    @Test
    public void testUpdate() {
        int id = 4;
        User user = userMapper.findById(id);
        System.out.println("更新前的记录:" + user);
        user.setName("华子");
        user.setAge(19);
        user.setAddress("朝阳区");
        int count = userMapper.update(user);
        session.commit(); // 提交数据库操作
        if (count > 0) {
            System.out.println("更新成功!");
            System.out.println("更新后的记录:" + userMapper.findById(4));
        } else {
            System.out.println("更新失败!");
        }

四.实现删除

定义更新语句

    <!--删除-->
    <delete id="deleteById" parameterType="int">
        DELETE FROM user WHERE id = #{id};
    </delete>

定义更新方法

int deleteById(int id);

测试

    @Test
    public void testDeleteById() {
        int id = 4;
        User user = userMapper.findById(id);
        System.out.println("待删除的记录:" + user);
        userMapper.deleteById(id);
        session.commit();
        System.out.println("编号为:[" + id + "]的用户删除成功!");

        user = userMapper.findById(id);
        if (user != null) {
            System.out.println(user);
        } else {
            System.out.println("编号为:[" + id + "]的用户未找到!");
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值