報錯信息以下:java
Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.UnsupportedOperationException
異常根源: resultType返回的是集合中的元素類型,而不是集合自己apache
代碼以下:json
<!--查詢詳細訂單信息--> <resultMap id="orderDetailMap" type="com.alibaba.fastjson.JSONArray"> <result column="order_code" property="orderCode"/> <result column="state" property="state"/> <result column="address" property="address"/> <result column="received_telephone" property="receivedTelephone"/> <result column="send_linkman" property="sendLinkman"/> <result column="send_telephone" property="sendTelephone"/> <result column="delivery_time" property="deliveryTime"/> <result column="delivery_time_quantum" property="deliveryTimeQuantum"/> <result column="greeting_card" property="greetingCard"/> <result column="show_pay_name" property="showPayName"/> <result column="pay_time" property="payTime"/> <result column="order_total_amount" property="orderTotalAmount"/> <result column="is_invoice" property="isInvoice"/> <result column="settled_amount" property="settledAmount"/> <result column="delivery_money" property="deliveryMoney"/> <collection property="goods" column="order_code" ofType="com.alibaba.fastjson.JSONObject" javaType="List" select="findOrderChildDetail"> <result column="item_sku_code" property="itemSkuCode"/> <result column="sku_title" property="skuTitle"/> <result column="sale_price" property="salePrice"/> <result column="buy_cnt" property="buyCnt"/> <result column="totalPrice" property="totalPrice"/> </collection> </resultMap> <select id="queryOrderDetail" parameterType="Map" resultMap="orderDetailMap"> SELECT order_code, state, received_linkman, CONCAT(received_address_area,received_address_desc) AS 'address', received_telephone, send_linkman, send_telephone, delivery_time, delivery_time_quantum, greeting_card, show_pay_name, pay_time, order_total_amount, is_invoice, settled_amount, delivery_money FROM order_info WHERE account_code = #{accountCode} AND order_code = #{orderCode} LIMIT 1 </select> <!--查詢訂單商品列表--> <select id="findOrderChildDetail" parameterType="String" resultType="com.alibaba.fastjson.JSONObject"> SELECT item_sku_code , sku_title , sale_price , buy_cnt , sale_price * buy_cnt AS totalPrice FROM order_detail WHERE order_code = #{orderCode} </select>
錯誤緣由:spa
<resultMap id="orderDetailMap" type="com.alibaba.fastjson.JSONArray"> 中JSONArray類型錯誤,修改成 <resultMap id="orderDetailMap" type="com.alibaba.fastjson.JSONObject">
說明:此處類型是如今開發使用類型,若是使用的是對象,則查看resultMap中 type類型是List仍是對象,若是是關聯子查詢,修改成對象code