This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
There are several issues with this code, which I think may be complicating the problem.
First, are you aware of preparedStatement.setObject() ? This seems designed to solve the kind of problem you are facing, and usually gets it right.
Second, I don't really understand why you are treating the Date parameter differently from other objects, and why it needs to be a separate parameter rather than being passed in objValue like all the other objects
Third, Are you aware that JDBC already includes convenient integer constants for all the parameter types it supports in java.sql.Types. Using those rather than making up your own could help make the code in your method clearer and simpler.
I don't really understand why you are using a default of NULL for integers, but a default of 0 for doubles - this might be a valuable part of your application, but it seems unusual. Using the same kind of default-value processing could well simplify your code.
Having said all that, in general I am in favour of your first approach over your second. Isolating a responsibility is almost always a good thing.
Why not take another look at your method and post a new version, and we'll see if we can make it even simpler.