View Javadoc

    1   /***
    2    * @(#)JdbcServiceImpl.java
    3    *
    4    * JFoxSOAF, Service-Oriented Application Framework
    5    *
    6    * Copyright(c) JFoxSOAF Team
    7    *
    8    * Licensed under the GNU LGPL, Version 2.1 (the "License");
    9    * you may not use this file except in compliance with the License.
    10   * You may obtain a copy of the License at
    11   *
    12   * http://www.gnu.org/copyleft/lesser.html
    13   *
    14   * Unless required by applicable law or agreed to in writing, software
    15   * distributed under the License is distributed on an "AS IS" BASIS,
    16   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    17   * See the License for the specific language governing permissions and
    18   * limitations under the License.
    19   *
    20   * For more information, please visit:
    21   * http://www.jfox.cn/confluence/display/JFoxSOAF/Home
    22   * http://www.huihoo.org/jfox/jfoxsoaf
    23   */
    24
    25  package org.huihoo.jfox.soaf.services.persistence;
    26
    27  import java.sql.Connection;
    28  import java.sql.SQLException;
    29
    30  import javax.sql.DataSource;
    31
    32  import org.apache.commons.dbutils.QueryRunner;
    33  import org.apache.commons.dbutils.ResultSetHandler;
    34  import org.huihoo.jfox.soaf.exception.DAOException;
    35
    36  /***
    37   * <p>
    38   * JDBC persistence service implementation.
    39   * </p>
    40   *
    41   * @author <a href="mailto:founder_chen@yahoo.com.cn">Peter Cheng </a>
    42   * @version $Revision: 1.1 $ $Date: 2006/02/15 08:45:44 $
    43   * @version Revision: 1.0
    44   */
    45
    46  public class JdbcServiceImpl implements JdbcService {
    47
    48  	private QueryRunner queryRunner;
    49
    50  	/***
    51  	 * @param dataSource
    52  	 */
    53  	public JdbcServiceImpl() {
    54  		queryRunner = new QueryRunner();
    55  	}
    56
    57  	/***
    58  	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#setDataSource(javax.sql.DataSource)
    59  	 */
    60  	public void setDataSource(DataSource dataSource) {
    61  		queryRunner.setDataSource(dataSource);
    62  	}
    63
    64  	/***
    65  	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#query(java.sql.Connection,
    66  	 *      java.lang.String, java.lang.Object,
    67  	 *      org.apache.commons.dbutils.ResultSetHandler)
    68  	 */
    69  	public Object query(Connection conn, String sql, Object param,
    70  			ResultSetHandler rsh) throws DAOException {
    71  		try {
    72  			return queryRunner.query(conn, sql, param, rsh);
    73  		} catch (SQLException e) {
    74  			throw new DAOException("Failed to query - sql [" + sql
    75  					+ "], parameterObject [" + param + "].  Cause: " + e, e);
    76  		}
    77  	}
    78
    79  	/***
    80  	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#query(java.sql.Connection,
    81  	 *      java.lang.String, java.lang.Object[],
    82  	 *      org.apache.commons.dbutils.ResultSetHandler)
    83  	 */
    84  	public Object query(Connection conn, String sql, Object[] params,
    85  			ResultSetHandler rsh) throws DAOException {
    86  		try {
    87  			return queryRunner.query(conn, sql, params, rsh);
    88  		} catch (SQLException e) {
    89  			throw new DAOException("Failed to query - sql [" + sql
    90  					+ "].  Cause: " + e, e);
    91  		}
    92  	}
    93
    94  	/***
    95  	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#query(java.sql.Connection,
    96  	 *      java.lang.String, org.apache.commons.dbutils.ResultSetHandler)
    97  	 */
    98  	public Object query(Connection conn, String sql, ResultSetHandler rsh)
    99  			throws DAOException {
    100 		try {
    101 			return queryRunner.query(conn, sql, rsh);
    102 		} catch (SQLException e) {
    103 			throw new DAOException("Failed to query - sql [" + sql
    104 					+ "].  Cause: " + e, e);
    105 		}
    106 	}
    107
    108 	/***
    109 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#query(java.lang.String,
    110 	 *      java.lang.Object, org.apache.commons.dbutils.ResultSetHandler)
    111 	 */
    112 	public Object query(String sql, Object param, ResultSetHandler rsh)
    113 			throws DAOException {
    114 		try {
    115 			return queryRunner.query(sql, param, rsh);
    116 		} catch (SQLException e) {
    117 			throw new DAOException("Failed to query - sql [" + sql
    118 					+ "].  Cause: " + e, e);
    119 		}
    120 	}
    121
    122 	/***
    123 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#query(java.lang.String,
    124 	 *      java.lang.Object[], org.apache.commons.dbutils.ResultSetHandler)
    125 	 */
    126 	public Object query(String sql, Object[] params, ResultSetHandler rsh)
    127 			throws DAOException {
    128 		try {
    129 			return queryRunner.query(sql, params, rsh);
    130 		} catch (SQLException e) {
    131 			throw new DAOException("Failed to query - sql [" + sql
    132 					+ "].  Cause: " + e, e);
    133 		}
    134 	}
    135
    136 	/***
    137 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#query(java.lang.String,
    138 	 *      org.apache.commons.dbutils.ResultSetHandler)
    139 	 */
    140 	public Object query(String sql, ResultSetHandler rsh) throws DAOException {
    141 		try {
    142 			return queryRunner.query(sql, rsh);
    143 		} catch (SQLException e) {
    144 			throw new DAOException("Failed to query - sql [" + sql
    145 					+ "].  Cause: " + e, e);
    146 		}
    147 	}
    148
    149 	/***
    150 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#update(java.sql.Connection,
    151 	 *      java.lang.String, java.lang.Object)
    152 	 */
    153 	public int update(Connection conn, String sql, Object param)
    154 			throws DAOException {
    155 		try {
    156 			return queryRunner.update(conn, sql, param);
    157 		} catch (SQLException e) {
    158 			throw new DAOException("Failed to query - sql [" + sql
    159 					+ "].  Cause: " + e, e);
    160 		}
    161 	}
    162
    163 	/***
    164 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#update(java.sql.Connection,
    165 	 *      java.lang.String, java.lang.Object[])
    166 	 */
    167 	public int update(Connection conn, String sql, Object[] params)
    168 			throws DAOException {
    169 		try {
    170 			return queryRunner.update(conn, sql, params);
    171 		} catch (SQLException e) {
    172 			throw new DAOException("Failed to query - sql [" + sql
    173 					+ "].  Cause: " + e, e);
    174 		}
    175 	}
    176
    177 	/***
    178 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#update(java.sql.Connection,
    179 	 *      java.lang.String)
    180 	 */
    181 	public int update(Connection conn, String sql) throws DAOException {
    182 		try {
    183 			return queryRunner.update(conn, sql);
    184 		} catch (SQLException e) {
    185 			throw new DAOException("Failed to query - sql [" + sql
    186 					+ "].  Cause: " + e, e);
    187 		}
    188 	}
    189
    190 	/***
    191 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#update(java.lang.String,
    192 	 *      java.lang.Object)
    193 	 */
    194 	public int update(String sql, Object param) throws DAOException {
    195 		try {
    196 			return queryRunner.update(sql, param);
    197 		} catch (SQLException e) {
    198 			throw new DAOException("Failed to query - sql [" + sql
    199 					+ "].  Cause: " + e, e);
    200 		}
    201 	}
    202
    203 	/***
    204 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#update(java.lang.String,
    205 	 *      java.lang.Object[])
    206 	 */
    207 	public int update(String sql, Object[] params) throws DAOException {
    208 		try {
    209 			return queryRunner.update(sql, params);
    210 		} catch (SQLException e) {
    211 			throw new DAOException("Failed to query - sql [" + sql
    212 					+ "].  Cause: " + e, e);
    213 		}
    214 	}
    215
    216 	/***
    217 	 * @see org.huihoo.jfox.soaf.services.persistence.JdbcService#update(java.lang.String)
    218 	 */
    219 	public int update(String sql) throws DAOException {
    220 		try {
    221 			return queryRunner.update(sql);
    222 		} catch (SQLException e) {
    223 			throw new DAOException("Failed to query - sql [" + sql
    224 					+ "].  Cause: " + e, e);
    225 		}
    226 	}
    227 }