最近两天在搞多表查询:我觉得要注意一下几点
1:确定哪张表为主表
2:在主表中添加对象类型的属性,并且确定是一对一还是一对多
3:在mapper.xml中使用ResultMap的方式进行字段的整合
<resultMap id="GetUserAllInfo" type="com.xingyou.common.po.StarUser"> <id column="UserId" property="userid" jdbcType="INTEGER" /> <result column="AccountId" property="accountid" jdbcType="INTEGER" /> <result column="Email" property="email" jdbcType="VARCHAR" /> <result column="UserName" property="username" jdbcType="VARCHAR" /> <result column="MyPicture" property="mypicture" jdbcType="VARCHAR" /> <result column="Mobile" property="mobile" jdbcType="VARCHAR" /> <association property="account" javaType="com.xingyou.common.po.Account"> <result column="CompanyName" property="companyname" jdbcType="VARCHAR" /> <result column="CompanyUrl" property="companyurl" jdbcType="VARCHAR" /> </association> <association property="certificate" javaType="com.xingyou.common.po.Certificate"> <result column="Business" property="business" jdbcType="VARCHAR" /> <result column="IdCard" property="idcard" jdbcType="VARCHAR" /> <result column="Icp" property="icp" jdbcType="VARCHAR" /> </association> </resultMap>
<association property="account"这个的proerty我前面写成了property="accountId"导致报类型对不上的异常
mybatis入门还可以看这篇文章:http://www.importnew.com/23936.html