DAO Layer Code Review
There are a couple of improvements that can be made here:


a) your QUERY_STRING is magic string. Move it to a different place,
because it make your code difficult to maintain 
user linked list
instead of array list. It has O(1) on insertion in worst case,
whereas array list has O(n) 
do not rethrow exceptions in finally
block. You will lose all details of your original exception 
every time when you concatenate strings with "+" you make too many
operations with memory, because strings are immutable. use *.format
instead