小白实习工作总结(一)

  • 常用方法
  • 1.postgresql – to_number函数,
  • 2.String类型的substring()函数
  • 3.Calendar日期处理工具
  • 4.比较to_char与to_date
  • 5.百分数格式使用:
  • Feign进行服务间的调用总结
  • 1.工作总结
  • 2.原理


常用方法

1.postgresql – to_number函数,

格式

To_number(varchar2 or char,’format model’)
//例如
area_id = to_number(#{areaId},'99')

2.String类型的substring()函数

substring(int beginIndex);//这个的作用为截取从beginindex位置处的元素开始,默认截取至剩余所有。
substring(int beginIndex, int endIndex);//这个的作用为截取从beginIndex开始,截取至endIndex-1位置间的元素。(从零开始,左闭右开)

3.Calendar日期处理工具

//取得当前时间
		Calendar calendar=Calendar.getInstance();
		//设置当前时间
		calendar.setTime(new Date());
		System.out.println(new SimpleDateFormat("yyy-MM-d H:m:s").format(calendar.getTime()));
		//显示年
		System.out.println(calendar.get(Calendar.YEAR));//2016-04-13 23:35:57
		//显示月份
		System.out.println(calendar.get(Calendar.MONTH)+1);//4
		//显示星期几
		System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//4
		//今年的第几天
		System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//104
		//本月第几天
		System.out.println(calendar.get(calendar.DAY_OF_MONTH));//13
		//当前的分钟数
		System.out.println(calendar.get(calendar.MINUTE));//44
		//多少小时后
		calendar.add(Calendar.HOUR_OF_DAY, 2);//还可以对天、月进行加减

4.比较to_char与to_date

to_char 是把日期或数字转换为字符串
to_date 是把字符串转换为数据库中得日期类型

使用TO_CHAR函数处理数字 
TO_CHAR(number, '格式') 
TO_CHAR(salary,’$99,999.99’); 
使用TO_CHAR函数处理日期 
TO_CHAR(date,’格式’); 
 TO_NUMBER 
使用TO_NUMBER函数将字符转换为数字 
TO_NUMBER(char[, '格式']) 
 TO_DATE 
使用TO_DATE函数将字符转换为日期 
TO_DATE(char[, '格式'])

5.百分数格式使用:

NumberFormat nt = NumberFormat.getPercentInstance();//获取格式化对象
nt.setMinimumFractionDigits(2);//设置百分数精确度2即保留两位小数

Feign进行服务间的调用总结

1.工作总结

  • 1.1注解使用:@FeignClient(“charge-center”)
  • 1.2启动类使用:@EnableFeignClients
  • 1.3双方添加依赖,调用方调用接口,被调用方需要有接口
  • 1.4例如:
@FeignClient("mis-center")
public interface MisCenterServiceFeign {
    @PostMapping("/mis/valve/saveFlowRx")
    void saveFlowRx(@RequestBody LatelyFlowRx flowRx);
    @GetMapping("/mis/valve/findMeters")
    List<String> findMeters();
    @PostMapping("/mis/valve/sendValveToRs")
    JSONObject sendValveToRs(@RequestBody MisValve valve);
    @PostMapping("/mis/valve/syncRsAreaToPubMis")
    void syncRsAreaToPubMis(@RequestParam("list") List<AreaArchive> areaArchives);
    @PostMapping("/mis/valve/pushValveState")
    void pushValveState(@RequestBody ValveState valveState);
}

2.原理

  • 2.1主程序入口添加了@EnableFeignClients注解开启对FeignClient扫描加载处理。根据Feign Client的开发规范,定义接口并加@FeignClientd注解。
  • 2.2当程序启动时,回进行包扫描,扫描所有@FeignClients的注解的类,并且讲这些信息注入Spring IOC容器中,当定义的的Feign接口中的方法被调用时,通过JDK的代理方式,来生成具体的RequestTemplate.当生成代理时,Feign会为每个接口方法创建一个RequestTemplate。当生成代理时,Feign会为每个接口方法创建一个RequestTemplate对象,改对象封装可HTTP请求需要的全部信息,如请求参数名,请求方法等信息都是在这个过程中确定的。
  • 2.3然后RequestTemplate生成Request,然后把Request交给Client去处理,这里指的时Client可以时JDK原生的URLConnection,Apache的HttpClient,也可以时OKhttp,最后Client被封装到LoadBalanceClient类,这个类结合Ribbon负载均衡发器服务之间的调用。