问题描述
<select id="tdPaymentOrderDao.queryOrderList" parameterClass="tdPaymentOrder" resultClass="java.util.HashMap">select c.*,e1.emp_name as createUserName,e2.emp_name as updateUserName,b.value as obj_type_name,l.value as pay_way_name from td_payment_order c left join tb_combobox b on b.code='obj_type' and c.obj_type=b.`key` left join tb_combobox l on l.code='pay_type' and c.pay_way=l.`key`left join tb_employee e1 on c.createUserId=e1.emp_idleft join tb_employee e2 on c.updateUserId=e2.emp_id where c.state=0 <isNotEmpty prepend="AND" property="order_id"> c.order_id=#order_id# </isNotEmpty><isNotEmpty prepend="AND" property="status"> c.status=#status# </isNotEmpty><isNotEmpty prepend="AND" property="order_id"> c.order_id=#order_id# </isNotEmpty><isNotEmpty prepend="AND" property="obj_code"> c.obj_code=#obj_code# </isNotEmpty><isNotEmpty prepend="AND" property="obj_name"> c.obj_name=#obj_name# </isNotEmpty><isNotEmpty prepend="AND" property="obj_type"> c.obj_type=#obj_type# </isNotEmpty><isNotEmpty prepend="AND" property="pay_way"> c.pay_way=#pay_way# </isNotEmpty></select>另外如果是几张表查询上面配置
解决方案
b.`key` 改成 b.keyl.`key` 改成 l.keyid="tdPaymentOrderDao.queryOrderList"这个id的值有些怪,为什么还有.呢?这个像个实例名,最好不要用.取个普通的名字就行parameterClass="tdPaymentOrder" 这个应该是个类名,是不是:TdPaymentOrder?resultClass="java.util.HashMap"你的检索结果只有一行吗?如果是多条检索结果的话,用HashMap好像不行吧?