目录

1. 书写执行的SQL语句

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

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

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

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


1. 书写执行的SQL语句

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

注意:如果查询结果的数量可能超过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中添加抽象方法:

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编程:查询相册数据列表】-LMLPHP

11-29 11:19