我遇到了关于ibatis动态sql映射的问题。 我的db查询是通过存储过程实现的,这个过程将转到子过程A或B取决于某些条件。现在问题来了,子程序A将返回列“price_category”并且它将被ibatis的resultMap映射到属性“priceCategory”,但是子程序B将不会返回列“price_category”而ibatis将抛出异常,因为映射不能完成。 所以我的想法是通过动态映射解决这个问题,这意味着如果sql没有返回列“price_category”,ibatis会在resultMap中将“priceCategory”设置为null。这可以通过ibatis中的一些配置技巧来实现吗?我认为ibatis应该可以做到这一点,但我没有在其他地方找到相关信息。你能给我一点意见吗? 谢谢你们。
答案 0 :(得分:0)
您可以让过程B返回一个具有空值的虚拟列。例如:
select a, b, c, null as priceCategory from myTable
// rest of your procedure code here