Yes, but it's a project requirement, I can't use Spring!!!
;)
Diego
> 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]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]