11.4.7 鉴别器(结果集) -《SSM深入解析与项目实战》
项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm
MyBatis中的鉴别器,简单的可以理解为Java中的switch语句。有时候一个单独的数据库查询可能返回很多不同数据类型的结果集(有些关联),鉴别器元素在MyBatis中就是被设计来处理这种情况的,还包括类的继承层次结构。鉴别器在实际项目中使用的不多,简单的介绍一下。
例如,有一个交通工具类Vehicle,另外还有子类,汽车Car和船Boat。Car和Boat分别继承了Vehicle类。在Vehicle中有一个type字段,用来区分交通工具类型。根据type字段,在MyBatis中实现,将查询的Vehicle数据自动封装成不同的类型对象(Car或者Boat)。XML映射文件代码如代码清单11-40所示。
代码清单11-40:使用鉴别器查询出Vehicle
<<