mybatis如何实现有继承关系的类的插入?
有一个抽象父类Message,有子类TextMessage,EventMessage;messageService有一个insert(Messagemessage)方法,...
有一个抽象父类Message,有子类TextMessage,EventMessage;messageService有一个insert(Message message)方法,如何通过这个insert方法,实现上述不同子类的插入操作。
展开
推荐于2018-03-28 · 知道合伙人互联网行家
关注
展开全部
我个人的想法:你可以建一张对应于父类Message的表,然后不管是哪个子类的对象传过来插入时都不会出错(没有的属性为NULL)。
比如Message有a,b,c等属性 TextMessage有a等属性 EventMessage有b,c等属性
<insert id="insertMessage" parameterClass="Message">
insert into Message(a, b, c...) values (#a#, #b#, #c#...)
</insert>
读取显示Message的时候判断一下
比如Message有a,b,c等属性 TextMessage有a等属性 EventMessage有b,c等属性
<insert id="insertMessage" parameterClass="Message">
insert into Message(a, b, c...) values (#a#, #b#, #c#...)
</insert>
读取显示Message的时候判断一下
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我个人的想法:你可以建一张对应于父类Message的表,然后不管是哪个子类的对象传过来插入时都不会出错(没有的属性为NULL)。
比如Message有a,b,c等属性 TextMessage有a等属性 EventMessage有b,c等属性
<insert id="insertMessage" parameterClass="Message">
insert into Message(a, b, c...) values (#a#, #b#, #c#...)
</insert>
读取显示Message的时候判断一下
比如Message有a,b,c等属性 TextMessage有a等属性 EventMessage有b,c等属性
<insert id="insertMessage" parameterClass="Message">
insert into Message(a, b, c...) values (#a#, #b#, #c#...)
</insert>
读取显示Message的时候判断一下
追问
我问的意思是子类都有各自的属性,父类不存在
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public void insert(Message message){
String name = message.getClass().getSimpleName();
if(name.equals("TextMessage")){
//保存TextMessage的操作
}else if(name.equals("EventMessage")){
//保存EventMessage的操作
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询