1.需求从数据库获取数据库DB时间

用jdbctemplate获取了数据库类型,来判断用于用不同的sql获取当前时间

DatabaseMetaData metaData=jdbcTemplate.getDataSource().getConnection().getMetaData();
String url = metaData.getURL();
String sql = "";
if (type == DBTypeEnum.SQLSERVER) {
    sql = "SELECT GETDATE()";
} else if (type == DBTypeEnum.POSTGRE) {
    sql = "SELECT CURRENT_TIMESTAMP";
} else {
    sql = "SELECT GETDATE()";
}
LocalDateTime now = jdbcTemplate.queryForObject(sql, LocalDateTime.class);
logger.info("DBTime-LocalDateTime:" + now);

2.在保存的时候,调用这个获取数据库时间,多保存几次,出现连接池连接耗尽

3.jdbctemplate的增删改查确实可以在执行后自动规划连接到连接池,但是如果getDataSource().getConnection()获取过连接,则必须手动关闭connection,否则连接不会被关闭和回收。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐