As for "40 member variables" - what we do is have *one* member variable,
which is a Map, containing prepared statements, keyed by the names, that
are meaningful to the app, so that the code, that uses those PS looks
something like:
PreparedStatement ps = (PreparedStatement) m_MyResources.get
(LOAD_USER_NAMES);
ps.setObject (1, foo);
ps.setObject (2, bar);
return ps.execute ();
Dima