ConnectionProxy类的主要作用是用于代理真实的Conection(数据库连接类)。之所以要额外构建一个代理类,是因为我们需要对连接进行连接超时检查,也就是健康检查功能,所以我们需要额外一个类型为long的属性来存储连接被取出时的时间。另一个重要的原因是,对于Connection中的一些接口我们并不希望显式的暴露给外部去使用。就比如说Connection中的close方法,就不能显式的暴露给外部使用,因为Connection在连接池中需要被重复使用,我们希望关闭连接的操作是有连接池来负责。在ConnectionProxy中,需要代理Connection中的一些必要的方法。这个可以看具体情况而定,这里笔者只是为了方便演示,就只代理Connection了执行sql语句的接口