mybatis 多表联查的mapper怎么写

xiaozhu890505 2017-08-17 10:49:48
sql语句,确认过可以在数据库中查到数据,但是mapper该怎么写?平常用的hibernate,突然用mabatis,玩不了了……

public class Customer {
private int id;
private String name;
private String telephone;
private String email;
private int fieldId;
以下省略get,set

public class Field {
private int id;
private String rent;
private String fieldName;
private Date leaseStartDate;
private Date leaseEndDate;
以下省略get,set

<select id="getCustomerById" resultMap="customerResult" parameterType="entity.Customer">
select c.id as id,c.name as name, c.telephone as telephone,c.email as email,
f.fieldName as field
from customer c,field f
where c.id=#{id} and c.fieldId=f.id
</select>
<resultMap type="entity.Customer" id="customerResult">
<result property="id" column="Id"/>
<result property="name" column="Name"/>
<result property="telephone" column="Telephone"/>
<result property="email" column="Email"/>
<collection property="field" ofType="entity.Field" column="id" select="getCustomerById">
<result property="id" column="Id"/>
<result property="fieldname" column="FieldName"/>
</collection>
</resultMap>
...全文
1323 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozhu890505 2017-08-28
  • 打赏
  • 举报
回复
感谢以上热血人士的帮忙,谢谢
zk_Kang 2017-08-25
  • 打赏
  • 举报
回复
2,3楼说的很对,用map,我们这里就算是单表查询也用的是map,,这样上线之后,很容易修改。
cjbedu2012 2017-08-23
  • 打赏
  • 举报
回复
1、resultMap="customerResult"改成resultType="map" 2、mapp中写法:list<Map<String,object>> getCustomerById(参数类型)
yhxct 2017-08-23
  • 打赏
  • 举报
回复
可以去看看 mybatis官网http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html 利用resultMap 去解决字段匹配问题 , resultType 匹配的是javaBean 多看资料吧
清晨v 2017-08-23
  • 打赏
  • 举报
回复
单表查询用自定义bean确实很方便,一涉及多表并且字段来源不同的表时就要重新定义bean了,很麻烦,直接用resultType="java.util.Map" ,
清晨v 2017-08-23
  • 打赏
  • 举报
回复
resultMap 用java.util.Map,sql语句随便写,不要非跟Bean对应起来
xiaozhu890505 2017-08-18
  • 打赏
  • 举报
回复
自顶,没人帮忙吗?

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧