一个单表的select 根据主键查询语句竟然报主键冲突了,并且冲突的值还不是我当前查询的这条记录的主键。
能不能贴一下你的shopOrderManagerMapper和xml里的方法
现象确实很奇怪,首先在数据库使用sql查询一下看看有没有问题。感觉是能查出来多行。
错误信息:事务错误,需要回滚,错误信息,重复输入主键 '01213303XXXXXXX'
检查代码,查看是否有插入操作,查看插入的主键是什么。应该是你查询之后,进行了插入操作。
看一下哪里调用了ShopOrderMangerMapper的queryShopOrderTemp,debug调试一下
查看数据库,将01213303XXXX 这条数据删除。
<select id="queryShopOrderTemp" resultMap="BaseResultMap"> SELECT f_order_number, f_ssis_order_number, f_order_type, f_order_state_code, f_shop_code, f_ext_shop_code, f_shop_name, f_build_time, f_cus_code, f_cus_name, f_cus_phone, f_order_pay_time, f_ori_order_money, f_discount_order_money, f_order_money, f_order_integral, f_order_bz, f_oper_id, f_oper_name, f_create_time, f_returned_time, category, f_used_ticket_flag, f_terminal_no, f_user_name, f_user_code, f_mer, f_order_souce from t_order_main_info_temp where F_MER = #{fMer} and F_ORDER_NUMBER = #{fOrderNumber} </select>