| package com.lavasoft.dbtest;
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;
import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; import java.sql.CallableStatement;
/** * Created by IntelliJ IDEA. * File: DBUtil.java * User: leizhimin * Date: 2008-2-21 14:26:30 * 数据库工具 */ public final class DBUtil { private static final Log log = LogFactory.getLog(DBUtil.class);
/** * 获取系统的数据源 * * @return DataSource */ public static DataSource getDataSource() { DataSource dataSource = null; try { dataSource = (DataSource) ContextHelper.getContext().getBean("rptds"); } catch (Exception e) { log.error("获取数据源出错,请检查Spring数据源配置!"); } return dataSource; }
/** * 获取数据库连接 * * @return Connection */ public static Connection makeConnection() { Connection conn = null; try { conn = getDataSource().getConnection(); } catch (SQLException e) { log.error("通过数据源获取数据库连接发生异常!"); e.printStackTrace(); } return conn; }
/** * 执行没有参数的SQL过程 * * @param procedureName 存储过程名字 * @return boolean 返回存储过程执行的结果,true表示执行成功,false表示执行失败. */ public static boolean executeBSDProcedure(String procedureName) { boolean flag = false; String sqlStr = "{call " + procedureName + "()}"; CallableStatement cs; Connection conn = makeConnection(); try { cs = (CallableStatement) conn.prepareStatement(sqlStr); cs.executeUpdate(sqlStr); flag = true; } catch (SQLException e) { log.error("调用存储过程" + sqlStr + "失败!"); e.printStackTrace(); } return flag; } } |