Java 8 使用default关键字遇到的问题

        由于有部分模块是没有删除功能的,例如订单类(系统自动生成的订单,不能删除)。所以在设计BaseService和BaseDAO(BaseMapper)时,使用了Java 8 的default关键字对删除方法提供默认实现。

 

        测试包含删除功能的模块时(例如基础数据,接口实现类中重写了delete方法),遇到了如下问题:

 

 

        首先猜测是不能在默认实现中抛异常,于是修改代码。

        再次测试,发现执行了BaseDAO的默认实现方法。

        最终发现问题原因:BaseDAO并没有实现类,所以执行了BaseDAO的默认实现。

        原来是自己对MyBatis的理解有误,该补补MyBatis的知识了o(╯□╰)o

 

转载于:https://www.cnblogs.com/KingJames/p/10907707.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值