The original question was cross-posted on JSP-INTEREST, so I will forward my comments
to SERVLET-INTEREST as well.

Craig McClanahan


"Craig R. McClanahan" wrote:

> Dave Ford wrote:
>
> > My understanding is that the benefit of a PreparedStatement is that you
> > "prepare it" ONCE and then "execute it" over and over. Thus, the server has
> > a chance to optimize complicated SQL statements ahead of time. So, based on
> > this reasoning, one might choose to "prepare" all of your statements in the
> > servlet's init() method. Then execute them in the servlet's service (or
> > doGet) method over and over.
> >
> > My Question is, how does one receive this "prepare" benefit when using J2EE
> > style connection pooling? Here is my code:
> >
>
> You are correct that this particular benefit of prepared statements is hard to come
> by when using connection pools.  At the JavaOne session on JDBC 3.0, they talked
> about some work going on to try to make this better in the next spec version.
>
> In the mean time, prepared statements have another very important benefit -- so
> important it makes them helpful for even one-time use.  That benefit is that
> prepared statements deal with data conversions for you.
>
> Consider trying to store a name like "O'Reilly" into a database with an SQL INSERT
> or UPDATE statement.  A naive JDBC program will end up trying to do something like
> this:
>
>     update customers
>         set last_name = 'O'Reilly'
>         where customer_id = 123
>
> with the predictable syntax error.  If you use a prepared statement to create this
> update statement, the JDBC driver deals with the embedded quote character for you
> (in whatever manner is required for that particular database, so that your SQL
> statement can stay as database-independent as possible).
>
> Another place this really helps is on dates and times -- databases have lots of
> different expectations for the string version of a date or time, but that's all
> dealt with inside the JDBC driver if you are using prepared statements.
>
> Craig McClanahan
>
> ===========================================================================
> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
> Some relevant FAQs on JSP/Servlets can be found at:
>
>  http://java.sun.com/products/jsp/faq.html
>  http://www.esperanto.org.nz/jsp/jspfaq.html
>  http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
>  http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to