1. Oracle-decode函数对null的处理

    今天查询sql需要这么一个判断,在一个SQL语句中,当值为空的时候,返回0,否则返回1。应该是一个挺简单的问题,我首先想到的是NVL和DECODE函数相结合,decode(nvl(column_name,0),column_name,1,0),这样就完成了,照理说这个问题也就结束了,但是百度了一下发现用decode直接就可以实现 SELECT DECODE(sfr.zj_count,NULL,0,sfr.zj_count) FROM SL_FJ_RULE sfr;

    2017/04/07 Oracle

  2. MyBatis快速入门(1):搭建环境和单表映射

    一说起对象关系映射框架,大家第一时间想到的肯定是Hibernate。Hibernate作为一个著名的框架,功能十分强大。我们只需要配置好实体类和数据表之间的关系,Hibernate就会自动帮我们完成生成并执行SQL语句,映射结果集这样的工作。但是也正是由于Hibernate如此强大的功能,导致了它的缺点:一是非常笨重,启动Hibernate的SessionFactory非常耗时,开销巨大;二是配置复杂,学习成本较高,系统调优也不容易;三是自定义查询功能较弱,查询结果如果不是映射的实体类,查询起来就比较麻烦。因此另一个ORM框架MyBatis,越来越流行。

    2017/03/28 MyBatis

  3. Java I/O 总结

    Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。

    2017/03/01 Java

  4. spring框架注解的用法分析

    前言 @Component是Spring定义的一个通用注解,可以注解任何bean。 @Scope定义bean的作用域,其默认作用域是”singleton”,除此之外还有prototype,request,session和global session。

    2017/02/27 Spring

  5. 全面了解Nginx到底能做什么

    前言 本文只针对Nginx在不加载第三方模块的情况能处理的事情。 反向代理 负载均衡 HTTP服务器(包含动静分离) 正向代理

    2017/02/24 Nginx

  6. Java问题排查工具单

    前言 平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。 闲话不多说,开搞。 ## Linux命令类 ###tail 最常用的tail -f tail -3

    2017/02/20 Java

  7. Spring分布式事务配置(atomikos)

    开发原因 在Java后端开发过程中事务控制非常重要,而Spring为我们提供了方便的声明式事务方法@transactional。但是默认的Spring事务只支持单数据源,而实际上一个系统往往需要写多个数据源,这个时候我们就需要考虑如何通过Spring实现对分布式事务的支持。

    2017/02/17 Spring

  8. 使代码更简洁(二)---集合转换相关

    list转map 开发过程中经常会碰到需要将list转为map的情况,例如有一个User类,有id,name,age等属性。有一个User的list,为了很方便的获取指定id的User,这时就需要将List< User>转换为Map,其中map的key是User的id。 一般的做法,是通过for循环将list中的元素put到map中,代码如下: Map<Integer, User> map = new HashMap<Integer, User>(); for(User user : userList){ map.put(user.getId(), user); } 这样做,在每个需要将list转为map的地方,都要写一遍for循环,代码不够简洁,所以利用stream和泛型封装了一个通用的工具方法 /** * 将list转为map * @param list * @param predicate1 key * @param predicate2 value * @return */ public static<K,V,T> Map<K, V> transformToMap(List<T> list,Function<T, K> predicate1, Function<T,V> predicate2){ return list.stream().collect(Collectors.toMap(predicate1, predicate2)); } 这样如果需要将List< User>转为Map代码如下 ```java //省略list构造过程 Map<Integer, User> map = TransFormUtils.transformToMap(userList, p->p.getId(), p->p);

    2017/02/16 Java