1、异常一:org.mybatis.spring.MyBatisSystemException:
原因:
List<ProductVO> productListPage(IPage page, ProductVO product, AddressVO address);
就是因为当参数大于一个的时候,需要加@param注解.
List<ProductVO> productListPage(@Param("page") IPage page, @Param("product") ProductVO product,@Param("address") AddressVO address);
2.异常二:nested exception is org.apache.ibatis.binding.BindingException
在xml文件中,如果不用
<if test="subtype != null"> and sp.subtype = #{subtype} </if>
则报错,需要加上对应定义好的param,如下
<if test="product.subtype != null"> and sp.subtype = #{product.subtype} </if>
3.关联查询,一对一,一对多关联
<resultMap id="resultMap" type="com.xx.vo.ProductVO" > <id column="id" property="id"/> <result column="name" property="name"/> <result column="type" property="type"/> <!--一对一--> <association property="address" javaType="com.xx.vo.AddressVO"> <id column="ref_id" property="id"/> <result column="country" property="country"/> <result column="province" property="province"/> <result column="city" property="city"/> <result column="district" property="district"/> <result column="addr_detail" property="addrDetail"/> <result column="postal_code" property="postalCode"/> <result column="longitude" property="longitude"/> <result column="latitude" property="latitude"/> <result column="is_deleted" property="isDeleted"/> </association> <!--一对多--> <collection property="productVal" javaType="ArrayList" ofType="com.xx.vo.ProductValVO"> <result column="spec_value" property="specValue"/> </collection> <!--一对多--> <collection property="specDef" javaType="ArrayList" ofType="com.xx.vo.SpecDefVO"> <result column="def_name" property="defName"/> </collection> </resultMap>