有一个重要的区别:
dataSource.getConnection()总是返回从dataSource或连接池获得的新连接。
DataSourceUtils.getConnection()检查当前线程是否有活动事务。如果有一个,它将返回与此事务的连接。如果没有,则其行为与完全相同
dataSource.getConnection()。
使用时需要小心
DataSourceUtils.getConnection()。如果它为活动事务返回连接,则意味着其他人将关闭它,因为这是打开事务的人的责任。另一方面,如果它从dataSource返回一个全新的连接,则应该由您提交/回滚/关闭它。



