Even if it returns different connections...then is it a problem?
It does matter. Connections returned by DataSource can be enrolled in transactions. So when you get 3 different connections you can be in 3 separate transactions and depending on the Connection isolation level (which you can read here http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html) the data from one transaction may or may not be visible to the other transaction.
If you want to give it a quick try, just change the code to call getConnection() once and keep using that connection for all those 3 operations.
[Edited to make it clear that the transactions can be different for those 3 connections]