SpringBoot整合MyBatis(七)下

简介: SpringBoot整合MyBatis(七)

三.九 查询全部测试


三.九.一 测试类


 @Test
    public void findAllTest(){
        List<User> userList=userService.findAll();
        userList.forEach(n->log.info(n));
    }


三.九.二 Mapper接口及其相关XML文件实现


UserMapper接口


 List<User> findAll();


UserMapper.xml 实现


<select id="findAll" resultType="top.yueshushu.learn.pojo.User">
        select * from user
    </select>


三.九.三 验证


8846b92b5498277e712a997a5ccf13f3.png


三.十 根据id集合部分查询测试


三.十.一 测试类


@Test
    public void findByIdsTest(){
        List<Integer> ids= Arrays.asList(2,4,6);
        List<User> userList=userService.findAllByIds(ids);
        userList.forEach(n->log.info(n));
    }


三.十.二 Mapper接口及其相关XML文件实现


UserMapper接口


List<User> findAllByIds(@Param("ids") List<Integer> ids);


UserMapper.xml 实现


 <select id="findAllByIds" resultType="top.yueshushu.learn.pojo.User">
        select * from user where id in
        <foreach collection="ids" item="id" open="(" close=")" separator=",">
            #{id}
        </foreach>
    </select>


三.十.三 验证


10c440658a6e4bf095684d68c169b6e7.png


三.十一 查询总条数,返回单个值测试


三.十一.一 测试类


@Test
    public void countTest(){
        Long count=userService.count();
        log.info("总数目{}",count);
    }


三.十一.二 Mapper接口及其相关XML文件实现


UserMapper接口


 Long count();


UserMapper.xml 实现


 <select id="count" resultType="java.lang.Long">
        select count(*) from user
    </select>


三.十一.三 验证


4f79a5d10c226402f765a227a8b1c709.png


三.十二 条件动态查询测试


三.十二.一 测试类


  @Test
    public void nameAndSexAndDescTest(){
        User user=new User();
        user.setName("小欢欢A");
        user.setSex("女");
        user.setAge(27);
        user.setDescription("小坏蛋");
        List<User> userList=userService.findByNameSexAndDesc(user);
        userList.forEach(n->log.info(n));
    }


三.十二.二 Mapper接口及其相关XML文件实现


UserMapper接口


List<User> findByNameSexAndDesc(@Param("user") User user);


UserMapper.xml 实现


<select id="findByNameSexAndDesc" resultType="top.yueshushu.learn.pojo.User">
        select * from user where 1=1
        <if test="user.name != null and user.name != ''">
           and name=#{user.name}
        </if>
        <if test="user.sex != null and user.sex != ''">
           and sex=#{user.sex}
        </if>
        <if test="user.age != null">
           and age &lt;#{user.age}
        </if>
        <if test="user.description != null and user.description != ''">
           and description like concat('%',#{user.description},'%')
        </if>
        <if test="user.id != null">
           and id=#{user.id}
        </if>
    </select>


其实就是 MyBatis的动态SQL的用法。


三.十二.三 验证


6afb1281e2d931f9be23ca1f10eccab8.png


三.十三 分页查询测试


执行两次 batchAddTest() 方法,多添加几条记录。


dc128fb6b6c3ca97d1f338475877eb31.png


三.十三.一 测试类


 @Test
    public void pageTest(){
        Integer pageNumber=2;
        Integer pageSize=3;
        PageInfo pageInfo=userService.pageUser(pageNumber,pageSize);
        log.info("总数:"+pageInfo.getTotal());
        List<User> userList=pageInfo.getList();
        userList.forEach(n->log.info(n));
    }


三.十三.二 UserServiceImpl的实现


@Override
    public PageInfo pageUser(Integer pageNumber, Integer pageSize) {
        //开启分页
        PageHelper.startPage(pageNumber,pageSize);
        //正常的查询
        List<User> userList=userMapper.findAll();
        //将结果转换成PageInfo对象。 
        PageInfo pageInfo=new PageInfo(userList);
        return pageInfo;
    }


调用的 findAll()方法,不需要写任何关于分页的操作。


三.十三.三 验证


110181c1d048a1a1e43a09e6de093d41.png


分页成功。


这就是SpringBoot整合MyBatis的一些基本的用法。


本章节的代码放置在 github 上:


https://github.com/yuejianli/springboot/tree/develop/MyBatis


谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!


相关文章
|
1月前
|
SQL Java 数据库连接
SpringBoot整合Mybatis
SpringBoot整合Mybatis
41 2
|
1月前
|
算法 Java 数据库连接
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
|
1月前
|
Java 数据库连接 Spring
Spring 整合mybatis
Spring 整合mybatis
26 2
|
3天前
|
安全 Java 数据库连接
Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目
Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目
14 0
|
11天前
|
Java 数据库连接 数据库
Spring日志完结篇,MyBatis操作数据库(入门)
Spring日志完结篇,MyBatis操作数据库(入门)
|
23天前
|
Java 关系型数据库 数据库连接
MyBatis-Plus介绍及Spring Boot 3集成指南
MyBatis-Plus是一个MyBatis扩展工具,旨在简化Java开发中的CRUD操作。它具有无侵入性、低损耗、强大的CRUD功能、Lambda表达式支持、主键自动生成、ActiveRecord模式、全局操作和内置代码生成器等特点。在Spring Boot 3中集成MyBatis-Plus,需在pom.xml添加依赖,排除特定版本的mybatis-spring,并用@MapperScan注解指定Mapper接口路径。此外,还介绍了如何使用MyBatis-Plus代码生成器自动生成Mapper、Model、Service和Controller层代码,以加速开发。
67 2
MyBatis-Plus介绍及Spring Boot 3集成指南
|
23天前
|
SQL Java 关系型数据库
基于SpringBoot使用MyBatisPlus,MyBatisPlus标准数据层开发(CRUD)、MyBatisPlus分页功能的使用
基于SpringBoot使用MyBatisPlus,MyBatisPlus标准数据层开发(CRUD)、MyBatisPlus分页功能的使用
31 2
|
23天前
|
Java 关系型数据库 MySQL
SpringBoot整合JUnit、MyBatis、SSM
SpringBoot整合JUnit、MyBatis、SSM
29 4
|
24天前
|
Java 数据库连接 数据库
Spring整合Mybatis、Spring整合JUnit
Spring整合Mybatis、Spring整合JUnit
25 1
Spring整合Mybatis、Spring整合JUnit
|
25天前
|
Java 数据库连接 数据库
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
小唐开始学 Spring Boot——(3)利用mybatis访问数据表