Mybatis实现查询相册数据列表流程讲解

目录
  • 1.书写执行的SQL语句
  • 2.在项目的根包下创建pojo.vo.AlbumListItemVO类
  • 3.在AlbumMapper.java中添加抽象方法
  • 4.在AlbumMapper.xml中配置SQL语句
  • 5.在AlbumMapperTests.java中编写并执行测试

1.书写执行的SQL语句

需要执行的SQL语句大致是:

SELECT xx,xx FROM pms_album ORDER BY sort DESC, id DESC

注意:如果查询结果的数量可能超过1条,在查询的SQL语句中必须显式的通过ORDER BY指定排序规则!

通常,查询列表时需要查的字段列表,与查询单个数据的字段列表,通常是不相同的,相对会更少一些,所以,查询列表和查询单个数据应该使用不同的VO类!

2.在项目的根包下创建pojo.vo.AlbumListItemVO类

在项目的根包下创建pojo.vo.AlbumListItemVO类:

@Data
public class AlbumListItemVO implements Serializable {
    private Long id;
    private String name;
    private String description;
    private Integer sort;
}

3.在AlbumMapper.java中添加抽象方法

AlbumMapper.java中添加抽象方法:

List<AlbumListItemVO> list();

4.在AlbumMapper.xml中配置SQL语句

AlbumMapper.xml中配置SQL语句:

<!-- List<AlbumListItemVO> list(); -->
<select id="list" resultMap="ListResultMap">
    SELECT
    	<include refid="ListQueryFields"/>
    FROM
    	pms_album
    ORDER BY
    	sort DESC, id DESC
</select>
<sql id="ListQueryFields">
	id, name, description, sort
</sql>
<resultMap id="ListResultMap" type="cn.tedu.csmall.product.pojo.vo.AlbumListItemVO">
    <id column="id" property="id" />
    <result column="name" property="name" />
    <result column="description" property="description" />
    <result column="sort" property="sort" />
</resultMap>

5.在AlbumMapperTests.java中编写并执行测试

AlbumMapperTests.java中编写并执行测试:

@Test
void list() {
    List<?> list = mapper.list();
    log.debug("查询列表完成,结果中的数据的数量:{}", list.size());
    for (Object item : list) {
        log.debug("{}", item);
    }
}

到此这篇关于Mybatis实现查询相册数据列表流程讲解的文章就介绍到这了,更多相关Mybatis查询相册数据列表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MyBatis将查询出的两列数据装配成键值对的操作方法

    目录 描述: 操作: 1. 实现 ResultHandler 接口 2. 对应 DAO 层 3. 使用 描述: MyBatis 直接查询出的格式是 List 套 Map 的结构,当然利用 Stream 流进行转换也非常便捷,但如果这样的操作很多的话,不如利用 MyBatis 提供的 ResultHandler 接口进行实现,做成工具类使用. 此外,如果用 MyBatis 提供的 @MapKey ,也只是对应值有冗余,因为 MapKey取一个字段为键,取出的所有字段为值. 操作: 1. 实现 Re

  • MyBatis中如何查询某个时间段内的数据

    目录 如何查询某个时间段内的数据 Mybatis查询日期范围 将日期时间,转换为字符串 将字符串,转换为日期时间 如何查询某个时间段内的数据 1.当使用SQL语句查询某个时间段的数据时 我们很自然的会想到使用between…and..来操作,但是如果使用between...and... 这个方法来查询某个时间段的数据时是需要传入两个参数的,一个是起始时间,另一个是结束时间,且两个参数必须要同时存在才能使用between...and...,而我们希望的是只传入一个参数(起始时间或者结束时间)就能进

  • 一文教会你用mybatis查询数据库数据

    目录 一.新建数据库和表 二.新建maven项目,添加mybatis依赖 三.新建实体类.接口(Mapper) 四.新建实现类(使用.xml映射文件) 五.新建全局配置文件(mybatis-config.xml) 六.编写demo类,进行测试查询数据库 总结 一.新建数据库和表 建一个数据库mybatis,建一个表person,然后填充一些数据(这里我是使用了图形化工具Navicat for MySQL,就不写原生的数据库代码了) 二.新建maven项目,添加mybatis依赖 新建一个mave

  • Mybatis游标查询大量数据方式

    目录 Mybatis游标查询大量数据 mapper层 service层 资源释放 Mybatis游标使用总结 什么是游标 Mybatis游标查询大量数据 对大量数据进行处理时,为防止内存泄漏情况发生,所以采用mybatis plus游标方式进行数据查询处理,当查询百万级的数据的时候,使用游标可以节省内存的消耗,不需要一次性取出所有数据,可以进行逐条处理或逐条取出部分批量处理 mapper层 使用Cursor类型进行数据接收 @Options,fetchSize设置为Integer最小值 @Sel

  • Mybatis如何按顺序查询出对应的数据字段

    目录 Mybatis按顺序查询出对应的数据字段 解决方法 Mybatis基本查询.条件查询.查询排序 Mybatis按顺序查询出对应的数据字段 今天遇到一个问题,就是写xml文件时,返回的顺序始终不一致,无论我sql语句写的如何好,前端接收到的数据都是乱的.终于,我发现到了原因. 原来我的查询返回resultType = "map"  , 也就是这个map, 打乱了顺序. 因为map 并不保证存入取出顺序一致, 因此,打乱顺序可想而知了. 解决方法 resultType = "

  • Mybatis查询时数据丢失的问题及解决

    目录 Mybatis查询时数据丢失 经过排查得出结论 解决办法 Mybatis查询部分字段漏查问题(mysql) Mybatis查询时数据丢失 公司里的实体类和mapper文件均由mybatis逆向工程生成 之前使用myabtis查询时直接使用注解@select(......)时遇到了一个问题. 结果显示数据库查询没有问题,但是有的数据缺没有插入到指定的字段中,如下图中ID成功存储,Z40_ID,Z40_103到Z40_113均失败. 经过排查得出结论 如果数据库命名很规范比如user_name

  • Mybatis实现查询相册数据列表流程讲解

    目录 1.书写执行的SQL语句 2.在项目的根包下创建pojo.vo.AlbumListItemVO类 3.在AlbumMapper.java中添加抽象方法 4.在AlbumMapper.xml中配置SQL语句 5.在AlbumMapperTests.java中编写并执行测试 1.书写执行的SQL语句 需要执行的SQL语句大致是: SELECT xx,xx FROM pms_album ORDER BY sort DESC, id DESC 注意:如果查询结果的数量可能超过1条,在查询的SQL语

  • jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)

    select2是一款jQuery插件,是普通form表单select组件的升级版. 可以定制搜索.远程数据集(Remote data,本篇主要介绍点).无限滚动(数据分页功能,这一点很妙).还有很多高端的参数设置(有需要的下次介绍). 内置了40种国际化语言,不过这里我们只需要用到中文. 同时支持现代和传统浏览器内置,甚至包括惹人不高兴的IE8. 那么,现在让我们开始一段select2的奇幻之旅吧! 一.惊艳的效果,来一睹为快吧 本地实战结果 二.导入css和js到网站上 1.使用CDN,节省自

  • Spring Data JPA实现排序与分页查询超详细流程讲解

    目录 前言 1.创建持久化实体类 2.创建数据访问层 3.创建业务层 4.创建控制器类 5.创建View视图页面 6.运行主类 效果如下 前言 在实际开发场景中,排序与分页查询是必须的,幸运的是Spring Data JPA充分考虑了排序与分页查询的场景,为我们提供Sort类 Page接口 Pageable接口 下面通过一个实战来阐明 1.创建持久化实体类 创建名为com.ch.ch6_4.entity的包 并在该包中创建名为Article和Author的持久化实体类 代码如下 Article

  • Springboot连接数据库及查询数据完整流程

    Springboot连接数据库 第一步 springboot继承Mybatis及数据库连接依赖(上一篇文章已经记录 ) 第二步 resources -> application.properties application.properties中增加数据库连接配置 # 增加数据库连接 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring?serverTimezone=Asia/Shanghai&useUnicode=true&

  • Java Fluent Mybatis 聚合查询与apply方法详解流程篇

    前言 接着上一篇文章:Java Fluent Mybatis 分页查询与sql日志输出详解流程篇 我把分页已经调整好了,现在实验一下官方给出的聚合查询方法. GitHub代码仓库:GitHub仓库 数据准备 为了聚合查询的条件,添加了几条数据. MIN 我们试着获取最小的年龄. 方法实现 @Override public Integer getAgeMin() { Map<String, Object> result = testFluentMybatisMapper .findOneMap(

  • Java Fluent Mybatis 分页查询与sql日志输出详解流程篇

    目录 前言 准备数据 Sql日志配置 官方分页查询 PageHelper分页查询 总结 前言 接着我上一章:Java Fluent Mybatis 项目工程化与常规操作详解流程篇 下 上一章我把项目做了一部分工程化包装,主要还是想要之后的调试能够方便一些.那么这一章接着上一章的内容,做一下查询分页,并且将每次请求所调用的sql语句写在日志里面,便于我们观察定位问题.代码之后还是会上传到github. GitHub代码仓库地址:GitHub仓库 准备数据 简单的准备了一些数据. Sql日志配置 之

  • PHP使用mysql_fetch_row查询获得数据行列表的方法

    本文实例讲述了PHP使用mysql_fetch_row查询获得数据行列表的方法.分享给大家供大家参考.具体分析如下: 这里使用mysql_fetch_row从mysql数据库中查询数据,并保存到list中 语法如下: array mysql_fetch_row (resource $Result_Set) 如果执行成功,则返回list列表,如果失败,返回false 下面是演示代码 <?php $UserName = 'abc'; $Password = '1234'; $DbHandle = m

  • Mybatis查不到数据查询返回Null问题

    mybatis突然查不到数据,查询返回的都是Null,但是 select count(*) from xxx查询数量,返回却是正常的. Preparing: SELECT id,a9004,a9005,a9015 FROM a90 where a9010 = ? ORDER BY id LIMIT 1 [DEBUG] org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:139):http-bio-8080

  • Mybatis中实体类属性与数据列表间映射方法介绍

    Mybatis不像Hibernate中那么自动化,通过@Column注解或者直接使用实体类的属性名作为数据列名,而是需要自己指定实体类属性和 数据表中列名之间的映射关系,这一点让用惯了Hibernate的人很不习惯,所幸经过探索找到了建立映射关系的三种办法,其中总也有比较 简单的. 首先先定义一个实体类,如下: public class User implements Serializable { private Integer userId; private String userName;

随机推荐