mybatis 多对多 在collection中使用select查询报错。。求解
website类
public class Website { private Integer id; private String name; private String websiteAddress; private List categoryList; private List scoreList; public Website() { super(); } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public String getWebsiteAddress() { return websiteAddress; } public void setWebsiteAddress(String websiteAddress) { this.websiteAddress = websiteAddress == null ? null : websiteAddress.trim(); } public List getCategoryList() { return categoryList; } public void setCategoryList(List categoryList) { this.categoryList = categoryList; } public List getScoreList() { return scoreList; } public void setScoreList(List scoreList) { this.scoreList = scoreList; }}category类
public class Category { private Integer id; private String name; private Integer parentCategoryId; private List userList; private List websiteList; public Integer getId() { return id; } public Category() { super(); } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public Integer getParentCategoryId() { return parentCategoryId; } public void setParentCategoryId(Integer parentCategoryId) { this.parentCategoryId = parentCategoryId; } public List getUserList() { return userList; } public void setUserList(List userList) { this.userList = userList; } public List getWebsiteList() { return websiteList; } public void setWebsiteList(List websiteList) { this.websiteList = websiteList; }}中间类
public class WebsiteToCategory { private Integer websiteId; private Integer categoryId; public WebsiteToCategory() { super(); } public Integer getWebsiteId() { return websiteId; } public void setWebsiteId(Integer websiteId) { this.websiteId = websiteId; } public Integer getCategoryId() { return categoryId; } public void setCategoryId(Integer categoryId) { this.categoryId = categoryId; }}websitemapper:
select * from website where id = #{id,jdbcType=INTEGER}categorymapper:
select * from category where id = #{id,jdbcType=INTEGER} 中间类mapper:
SELECT c.* FROM category c,website_to_category wc WHERE c.id=wc.category_id and wc.website_id=#{website_id} SELECT w.* FROM website w,website_to_category wc WHERE w.id=wc.website_id and wc.category_id=#{category_id}
直接执行中间类的两个方法是都可以查询出来的,但放在collection中子查询就不行
开始我在websitemapper中的resultmap中的collenction的column写的市sebsite_id,查询出来的对象list是空的
又改成column="{website_id=id}"想让他强制执行,结果就一直报错
Error instantiating class java.lang.Integer with invalid types () or values (). Cause: java.lang.NoSuchMethodException: java.lang.Integer.() |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
parameterType 要写成java.lang.Integer |
|
|
|
|