- 3
- 0
- 约 8页
- 2017-02-10 发布于北京
- 举报
一些ibatis的使用建议
一些ibatis的使用建议
类继承关系在ibatis中的配置
SIMS系统中有很多领域都是有继承关系的,比如Service类和 SmsService、WapService子类。对应在数据表结构中有Service主表和Service_sms、Service_wap子表,主表通过sp_type_id字段来判断一条数据对应的子表是哪个,同时通过serv_id来关联Service主表和子表。
对应这种的常见的继承关系和数据库表结构,考虑下通过serv_id来获取对应的业务线Service这种场景中应该如何通过ibatis来配置,从而达到返回一个准确的Service子类的对象的目的。
先来看看 SIMS系统中目前的实现方式(简化的类图)。
调用过程的序列图
这个种实现方式的缺点是
通过BeanLocator来获取dao,使得serviceBiz对spring产生了依赖,脱离了spring环境无法进行单元测试。
serviceBiz必须要传入一个spTypeId才能取到对应的Dao.不够灵活。
下面来看看直接通过ibatis 来配置这种继承关系
首先需要配置ResultMap(省略了一些非关键性的属性)。
!-- 业务基本信息 --
resultMap id=service_basic_result class=service
result property=
原创力文档

文档评论(0)