Have you thought of using Spring's JDBC Dao stuff?
On 9/13/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> add an action in the catch block and this will be perfect
> ;)
> Jérome.
>
>
>
> Selon [EMAIL PROTECTED]:
>
> > I have changed my class:
> >
> > public class QueryManager {
> >
> > private static QueryManager queryManager = null;
> >
> > private QueryRunner queryRunner = null;
> >
> > private QueryManager() {
> > try {
> > queryRunner = new QueryRunner(DataSourceSingleton.getInstance()
> > .getDataSource());
> > } catch (Exception e) {
> > }
> > }
> >
> > public static QueryManager getInstance() {
> > if (queryManager == null) {
> > queryManager = new QueryManager();
> > }
> > return queryManager;
> > }
> >
> > public QueryRunner getQueryRunner() {
> > return this.queryRunner;
> > }
> >
> > Is what you meant?
> >
> > Thanks
> >
> >
> >
> >
> > > sorry, another point...
> > > queryRunner parameter must be a QueryManager member parameter, you have to
> > > remove "static"
> > >
> > > Selon [EMAIL PROTECTED]:
> > >
> > >> i'm seeing another point. Your QueryManager does not offer the guarantee
> > >> to
> > >> be a
> > >> singleton, you have to declare a private constructor.
> > >>
> > >> Jérome.
> > >>
> > >>
> > >> Selon [EMAIL PROTECTED]:
> > >>
> > >> > Selon [EMAIL PROTECTED]:
> > >> >
> > >> > > Hi,
> > >> > > I'm using a dao pattern, the call
> > >> > >
> > >> > > QueryManager.getInstance().getQueryRunner().query(...);
> > >> > >
> > >> > > is executed in my dao object.
> > >> > >
> > >> > > Servlet calls dao method.
> > >> > >
> > >> > ok.
> > >> >
> > >> > > What do you mean with it depends of your project size?
> > >> > Hi,
> > >> > If you have a small project it is not mandatory to spend a lot of time
> > >> in
> > >> the
> > >> > abstraction layers, but this is advised. If you implement this
> > >> approach,
> > >> life
> > >> > is
> > >> > wonderful. :)
> > >> >
> > >> > Jérome.
> > >> >
> > >> > >
> > >> > > Thanks a lot
> > >> > >
> > >> > > Diego
> > >> > >
> > >> > >
> > >> > > > Hi,
> > >> > > > It seems correct, why not, QueryRunner object is thread safe.
> > >> > > > Web layer which calls integration layer directly, it's a bad
> > >> design but
> > >> > > > this
> > >> > > > depends of your project size.
> > >> > > >
> > >> > > > Jérome.
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > Selon [EMAIL PROTECTED]:
> > >> > > >
> > >> > > >> Hi, I'm developing a web application using DbUtils classes to
> > >> execute
> > >> > > >> queries and so on.
> > >> > > >>
> > >> > > >> I user QueryRunner class with a DataSource.
> > >> > > >>
> > >> > > >> I red this class is thread safe, so I implemented a Singleton to
> > >> > > >> instance
> > >> > > >> QueryRunner only once.
> > >> > > >>
> > >> > > >> This is my code:
> > >> > > >>
> > >> > > >> public class QueryManager {
> > >> > > >>
> > >> > > >> private static QueryManager queryManager = null;
> > >> > > >>
> > >> > > >> private static QueryRunner queryRunner = null;
> > >> > > >>
> > >> > > >> static {
> > >> > > >> try {
> > >> > > >> queryRunner = new
> > >> > > >> QueryRunner(DataSourceSingleton.getInstance()
> > >> > > >> .getDataSource());
> > >> > > >> } catch (Exception e) {
> > >> > > >> }
> > >> > > >> }
> > >> > > >>
> > >> > > >> public static QueryManager getInstance() {
> > >> > > >> if (queryManager == null) {
> > >> > > >> queryManager = new QueryManager();
> > >> > > >> }
> > >> > > >> return queryManager;
> > >> > > >> }
> > >> > > >>
> > >> > > >> public QueryRunner getQueryRunner() {
> > >> > > >> return queryRunner;
> > >> > > >> }
> > >> > > >>
> > >> > > >> In my servlets I use:
> > >> > > >>
> > >> > > >> QueryManager.getInstance().getQueryRunner().query(...);
> > >> > > >>
> > >> > > >> Is this correct?
> > >> > > >>
> > >> > > >> Which is the best practice to use QueryRunner in a web context?
> > >> > > >>
> > >> > > >> Thanks a lot in advance
> > >> > > >>
> > >> > > >>
> > >> > > >>
> > ---------------------------------------------------------------------
> > >> > > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> > > >> For additional commands, e-mail: [EMAIL PROTECTED]
> > >> > > >>
> > >> > > >>
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > ---------------------------------------------------------------------
> > >> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >> > > >
> > >> > > >
> > >> > >
> > >> > >
> > >> > >
> > >> > > ---------------------------------------------------------------------
> > >> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >> > >
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > ---------------------------------------------------------------------
> > >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> > For additional commands, e-mail: [EMAIL PROTECTED]
> > >> >
> > >> >
> > >>
> > >>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> For additional commands, e-mail: [EMAIL PROTECTED]
> > >>
> > >>
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]