分库分表,年份实现类<AviatorEvaluator>表达式,@Accessors

获取分表实现类

1.实现aware方法,会让这个application拿到全部的bean
2.所有的service都实现了AbstractReport这个接口,所以map里的bean都是service

(map<implName,AbstracReport>)
3.项目启动会把所有bean放到serviceImpMap里
4.找到对应的bean,都是调用最新的-->在一个年份配置表里 :(getServiceImpl())方法

获取分表注解

mapper进行查询的时候,传入一个initdate,注解会根据这个date自动拼接上对应的表名

--------------

String yourname = “aviator”;   
 Map<String, Object> env = new HashMap<String, Object>();   
 env.put("yourname", yourname);   
 String result = (String) AviatorEvaluator.execute(" 'hello ' + yourname ", env);   
 System.out.println(result);  

execute的时候‘’内的是str,后面拼接的为对应map里的key,会和map的value进行计算

-----------------------

@Accessors 注解详解

只注入set或者get其中一个方法,chain=ture的时候表示set方法会返回这个值

-----------------------

Bigdecimal

1.构造器需要判空

2.equals需要对scale进行判断,(小数位)

构造方法入参为空的坑

传入字符串为

null时就会报错,所以这里要对传入的字符串进行判空。

new Bigdecimal()传入Str

* equals

方法的坑

* BigDecimal的equals方法不仅仅比较值的大小是否相等,首先比较的是scale

(scale是bigdecimal的保留小数点位数,比如new Bigdecimal("1.001"),scale为3Bigdecimal.ZERO的scale为0。),也就是说,不但值得大小要相等,保留位数也要相等,

equals才能返回true

System.out.println("a.compareTo(BigDecimal.ZERO)==0:"+(a.compareTo(BigDecimal.ZERO)==0));


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值