六、mybaits注解实现基本增删改查

本文介绍使用MyBatis注解进行数据库操作的方法,包括查询、插入、更新和删除等核心功能,并演示了如何处理多参数的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境准备

  • 使用第二章的相关表与实体类 userInfo表
  • 删除映射文件

Select注解

创建接口,编写查询方法。根据Id查询出一条用户信息

public interface TUserMapper {
    @Select("select * from users_info where uid = #{id}")
    User findTUserById(int id);
}

在mybatis-config.xml中配置引入workerMapper接口

编写测试方法

    @Test
    public void test01(){
        User user = mapper.findTUserById(1);
        System.out.println(user);
    }

insert注解

创建接口,编写插入方法。

@Insert("insert into users_info (uname, uage, uphone) values (#{uname},#{uage},#{uphone});")
int insertUser(User user);

编写测试方法

 @Test
    public void test02(){
        User user = new User();
        user.setUname("hahah");
        user.setUage(55);
        user.setUphone("111111111");
        mapper.insertUser(user);
    }

update注解

创建接口,编写查询方法。

  @Update("update users_info set uname = #{uname} where uid = #{uid};")
    int updateUser(User id);

编写测试方法

    @Test
    public void test03(){
        User user = new User();
        user.setUname("aaaaaaaa");
        user.setUid(6);
        mapper.updateUser(user);

    }

delete注解

创建接口,编写删除方法。

@Delete("delete from users_info where uid = #{uid};")
int deleteUser(int id);

编写测试方法

@Test
public void test04(){
    mapper.deleteUser(6);
}

param注解

若存在多个参数,解决参数对应问题有两种方式

  1. sql语句中使用默认参数名,如 Available parameters are [arg1, arg0, param1, param2]

  2. 在接口中使用@Param注解

创建接口,编写查询方法。

@Select("select * from users_info where uid = #{id1} and uname = #{name1};")
    User findUserByIdAndName(@Param("id1") int id, @Param("name1") String name);

编写测试方法

@Test
public void test05(){
    mapper.findUserByIdAndName(11,"hahah");
}

全部代码:

package com.yiwu.mapper;
import com.yiwu.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface TUserMapper {

    @Select("select * from users_info where uid = #{aaaa}")
    User findTUserById(int id);

    @Insert("insert into users_info (uname, uage, uphone) values (#{uname},#{uage},#{uphone});")
    int insertUser(User user);

    @Update("update users_info set uname = #{uname} where uid = #{uid};")
    int updateUser(User id);

    @Delete("delete from users_info where uid = #{uid};")
    int deleteUser(int id);

    @Select("select * from users_info where uid = #{id1} and uname = #{name1};")
    User findUserByIdAndName(@Param("id1") int id, @Param("name1") String name);
}

import com.yiwu.mapper.TUserMapper;
import com.yiwu.pojo.User;
import com.yiwu.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.util.List;

public class TUserTest {
    private TUserMapper mapper;
    private SqlSession sqlSession;

    @Before
    public void init(){
    sqlSession = MyBatisUtils.geSqlSession();
    mapper = sqlSession.getMapper(TUserMapper.class);
}
    @Test
    public void test01(){
        User user = mapper.findTUserById(1);
        System.out.println(user);
    }

    @Test
    public void test02(){
        User user = new User();
        user.setUname("hahah");
        user.setUage(55);
        user.setUphone("111111111");
        mapper.insertUser(user);

    }
    @Test
    public void test03(){
        User user = new User();
        user.setUname("aaaaaaaa");
        user.setUid(6);
        mapper.updateUser(user);
    }

    @Test
    public void test04(){
        mapper.deleteUser(6);
    }
    @Test
    public void test05(){
        mapper.findUserByIdAndName(11,"hahah");
    }
    @After
    public void destory(){
        sqlSession.commit();
        sqlSession.close();
    }
}


mybatis基础教程【5小时36讲全套】

重录版-推荐(36讲,无法分享组,点击前往bilibili查看全集)

29注解实现基本查找与插入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老去的90后

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值