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月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
106 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
54 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
295 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
2月前
|
Java 数据库连接 数据库
spring复习05,spring整合mybatis,声明式事务
这篇文章详细介绍了如何在Spring框架中整合MyBatis以及如何配置声明式事务。主要内容包括:在Maven项目中添加依赖、创建实体类和Mapper接口、配置MyBatis核心配置文件和映射文件、配置数据源、创建sqlSessionFactory和sqlSessionTemplate、实现Mapper接口、配置声明式事务以及测试使用。此外,还解释了声明式事务的传播行为、隔离级别、只读提示和事务超时期间等概念。
spring复习05,spring整合mybatis,声明式事务
|
2月前
|
Java 数据库连接 数据库
SpringBoot 整合jdbc和mybatis
本文详细介绍了如何在SpringBoot项目中整合JDBC与MyBatis,并提供了具体的配置步骤和示例代码。首先,通过创建用户实体类和数据库表来准备基础环境;接着,配置Maven依赖、数据库连接及属性;最后,分别展示了JDBC与MyBatis的集成方法及其基本操作,包括增删查改等功能的实现。适合初学者快速入门。
SpringBoot 整合jdbc和mybatis
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
69 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
1月前
|
SQL Java 数据库连接
mybatis使用二:springboot 整合 mybatis,创建开发环境
这篇文章介绍了如何在SpringBoot项目中整合Mybatis和MybatisGenerator,包括添加依赖、配置数据源、修改启动主类、编写Java代码,以及使用Postman进行接口测试。
17 0
mybatis使用二:springboot 整合 mybatis,创建开发环境
|
1月前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
|
1月前
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
43 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
|
1月前
|
Java 数据库连接 mybatis
Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码
该文档详细介绍了如何在Springboot Web项目中整合Mybatis,包括添加依赖、使用`@MapperScan`注解配置包扫描路径等步骤。若未使用`@MapperScan`,系统会自动扫描加了`@Mapper`注解的接口;若使用了`@MapperScan`,则按指定路径扫描。文档还深入分析了相关源码,解释了不同情况下的扫描逻辑与优先级,帮助理解Mybatis在Springboot项目中的自动配置机制。
127 0
Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码