老师帮忙看一下
来源:4-3 ResultMap结果映射
dobe001
2020-02-23 23:49:30
<resultMap id="rmGoods" type="com.imooc.mybatis.dto.GoodsDTO"> <id property="goods.goodsId" column="goods_id"></id> <result property="goods.title" column="title"></result> <result property="goods.originalCost" column="original_cost"></result> <result property="goods.currentPrice" column="current_price"></result> <result property="goods.discount" column="discount"></result> <result property="goods.isFreeDelivery" column="is_free_delivery"></result> <result property="goods.categoryID" column="category_id"></result> <result property="categoryName" column="category_name"></result> <result property="test" column="test"></result> </resultMap> <select id="selectGoodsDTO" resultMap="rmGoods"> select g.* , c.category_name ,'1' as test from t_goods g , t_category c where g.category_id = c.category_id </select>
package com.imooc.mybatis.dto;
import com.imooc.mybatis.entity.Goods;
public class GoodsDTO {
private Goods goods = new Goods();
private String categoryName;
private String test;
public Goods getGoods() {
return goods;
}
public void setGoods(Goods goods) {
this.goods = goods;
}
public String getCategoryName() {
return categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}@Test
public void testSelectGoodsDTO() throws Exception {
SqlSession session = null;
try{
session = MyBatisUtils.openSession();
List<GoodsDTO> list = session.selectList("goods.selectGoodsDTO");
for (GoodsDTO g : list) {
System.out.println(g.getGoods().getTitle());
}
}catch(Exception e){
throw e;
}finally{
MyBatisUtils.closeSession(session);
}

又是List那儿出了问题,哪边参数错了
1回答
同学你好,根据报错信息,表示不能设置属性categoryID,具体如下:

建议同学检查Goods实体类中,分类编号是否为categoryID,例如老师这里分类编号为categoryId,小写的d,则映射时也应该是categoryId,具体如下:


如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题