Mybatis实现查询相册数据列表流程讲解
居然天上楼 人气:01.书写执行的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); } }
加载全部内容