KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > ofbiz > minerva > pool > jdbc > PreparedStatementFactory


1 /*
2  * Licensed under the X license (see http://www.x.org/terms.htm)
3  */

4 package org.ofbiz.minerva.pool.jdbc;
5
6 import java.sql.Connection JavaDoc;
7 import java.sql.PreparedStatement JavaDoc;
8 import java.sql.SQLException JavaDoc;
9
10 import org.apache.log4j.Logger;
11 import org.ofbiz.minerva.pool.cache.CachedObjectFactory;
12
13 /**
14  * Creates PreparedStatements for a PS cache. Doesn't yet handle
15  * different isolation levels, etc.
16  *
17  * @author Aaron Mulder ammulder@alumni.princeton.edu
18  */

19 public class PreparedStatementFactory extends CachedObjectFactory {
20
21     private Connection JavaDoc con;
22     private Logger logger = Logger.getLogger(PreparedStatementFactory.class);
23
24     public PreparedStatementFactory(Connection JavaDoc con) {
25         this.con = con;
26     }
27
28     /**
29      * Creates a PreparedStatement from a Connection & SQL String.
30      */

31     public Object JavaDoc createObject(Object JavaDoc sqlString) {
32         String JavaDoc sql = (String JavaDoc) sqlString;
33         try {
34             return con.prepareStatement(sql);
35         } catch (SQLException JavaDoc e) {
36             logger.warn("Error creating prepared statement.", e);
37             return null;
38         }
39     }
40
41     /**
42      * Closes a PreparedStatement.
43      */

44     public void deleteObject(Object JavaDoc pooledObject) {
45         try {
46             ((PreparedStatement JavaDoc) pooledObject).close();
47         } catch (SQLException JavaDoc e) {
48         }
49     }
50 }
51
Popular Tags