xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bnc.s12.mapper.GoodaCateDTOMapper">
<!--<resultMap id="GoodaCateDTOMapper" type="com.bnc.s12.model.GoodaCateDTO">
<id property="id" column="id"></id>
<result property="goods" column="goods"></result>
<result property="category_id" column="category_id"></result>
<result property="category_name" column="category_name"></result>
</resultMap>-->
<select id="getGoodsList" resultType="com.bnc.s12.model.GoodaCateDTO" >
SELECT * from my_goods as g LEFT JOIN my_category as c on g.category_id = c.category_id
</select>
</mapper>
select 标签里面,映射的它是以 resultType 或者是 resultMap 属性。但这两个属性最好不要同时使用。因为如果同时使用,优先走的 resultMap 属性。也就是说,如果两个同时定义了,那么其实他走的也是 resultMap 属性。
resultMap属性的值 指向的是 resultMap 标签 id的值,或者说,在 select 标签中 resultMap 的值需要跟 resultMap 标签中 id 的值一样。
而 select 标签的 id 对应的就是 service 类中的 方法名
resultType 属性定义的,它指向的是 实体类。或者,我们说是数据库的字段。大概的代码如下
java
package com.bnc.s12.model;
import lombok.Data;
@Data
public class GoodaCateDTO {
private int id;
private String goods;
private String category_id;
private String category_name;
//这儿还可以定义数据表中没有的字段
}