(二)mybatis-plus学习--测试BaseMapper

1 添加功能

   @Test
    public void testInsert(){
        User user = new User();
        user.setName("张三");
        user.setAge(23);
        user.setEmail("dongbin@qq.com");
        int result = userMapper.insert(user);
        System.out.println(result);
    }

结果:

==>  Preparing: INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? )
==> Parameters: 1572475102517829634(Long), 张三(String), 23(Integer), dongbin@qq.com(String)
<==    Updates: 1

2 删除功能 

(1)deleteById

L为long,之前超过int大小

@Test
    public void testDelete(){
        int result = userMapper.deleteById(1572475102517829634L);
        System.out.println(result);
    }

输出结果为:

==>  Preparing: DELETE FROM user WHERE id=?
==> Parameters: 1572475102517829634(Long)
<==    Updates: 1

(2)deleteByMap

deleteMap为删除符合条件的数据,map中加入条件

  @Test
    public void testDelete(){
//        int result = userMapper.deleteById(1572475102517829634L);
//        System.out.println(result);
        Map<String,Object> map = new HashMap<>();
        map.put("name","张三");
        map.put("age",23);

        int result = userMapper.deleteByMap(map);
        System.out.println("result"+result);
    }

结果为:

==>  Preparing: DELETE FROM user WHERE name = ? AND age = ?
==> Parameters: 张三(String), 23(Integer)
<==    Updates: 0 

(3)deleteBatchIds

批量删除

  List<Long> list = Arrays.asList(1L, 2L, 3L);
        int result = userMapper.deleteBatchIds(list);
        System.out.println("result"+result);
    }

结果为:

==>  Preparing: DELETE FROM user WHERE id IN ( ? , ? , ? )
==> Parameters: 1(Long), 2(Long), 3(Long)
<==    Updates: 3 

3 修改功能 

测试代码为:

  @Test
    public void testUpdate(){
        User user = new User();
        user.setId(4L);
        user.setName("李四");
        user.setEmail("list@qq.com");

        int result = userMapper.updateById(user);
        System.out.println(result);

    }

结果为:

==>  Preparing: UPDATE user SET name=?, email=? WHERE id=?
==> Parameters: 李四(String), list@qq.com(String), 4(Long)
<==    Updates: 1

4 查询功能 

测试代码为:

    @Test
    public void testSelect(){
        User user = userMapper.selectById(4L);
        System.out.println(user);
    }

结果为:

  Preparing: SELECT id,name,age,email FROM user WHERE id=?
==> Parameters: 4(Long)
<==    Columns: id, name, age, email
<==        Row: 4, 李四, 21, list@qq.com
<==      Total: 1

selectBatchIds:

 @Test
    public void testSelect(){
//        User user = userMapper.selectById(4L);
//        System.out.println(user);
        List<Long> list = Arrays.asList(4L, 5l);
        List<User> users = userMapper.selectBatchIds(list);
        users.forEach(System.out::println);
    }

结果为;

==>  Preparing: SELECT id,name,age,email FROM user WHERE id IN ( ? , ? )
==> Parameters: 4(Long), 5(Long)
<==    Columns: id, name, age, email
<==        Row: 4, 李四, 21, list@qq.com
<==        Row: 5, Billie, 24, test5@baomidou.com
<==      Total: 2 

测试自定义:

编写接口和抽象方法:

    /**
     * 根据id查询用户map集合
     * @param id
     * @return
     */
 Map<String,Object> selectMapById(Long id);

编写UserMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace属性:用于指定当前的映射文件和哪个接口进行映射,需要指定接口的文件路径,需要标注包的完整路径 -->
<mapper namespace="com.example.demo.mapper.UserMapper">
    <select id="selectMapById" resultType="map">
            select id,name,age,email from user where id=#{id}
    </select>




</mapper>

进行测试:

        Map<String, Object> result = userMapper.selectMapById(4L);
        System.out.println(result);

输出结果为:

 ==>  Preparing: select id,name,age,email from user where id=?
==> Parameters: 4(Long)
<==    Columns: id, name, age, email
<==        Row: 4, 李四, 21, list@qq.com
<==      Total: 1

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值