When we have a scenario of multiple hits on the database at the same time, Datasource is preferrable over the DriverManager. Driver manager reduces the overall performance and can be a bad experience on the client side. While datasource uses connection pooling and manages resouces effectively. Many details are hidden in the statement but as far as the answer to your question is concerned, DataSource should be preffered.
Typically, a Connection returned from a DataSource aggregates on a DriverManager Connection opened by the DataSource itself. Almost all the methods on the aggregating connection are passed along to the fronted Connection, with one exception. The close() method returns the Connection to the DataSource connection pool instead of actually closing the connection. That way the Connection will be ready to use when it is again retrieved from the pool. Rigorous implementations will also ensure that before the Connection is handed out again it's reset to a known state, but it's better not to assume that.
This is while it's critical to intercept all JDBC errors and make sure you have explicitly closed all connections, including those where the exception would otherwise fly by the close done by non-error code. Otherwise you'll leak connections.
An IDE is no substitute for an Intelligent Developer.