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,否则连接不会被关闭和回收。