java调用存储过程

来源:互联网 发布:360网络急救箱修复 编辑:程序博客网 时间:2024/05/16 17:10

先贴上代码:

package com.ewell.zonghe.patientHologram.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * 连接工具类 *  * ConnUtils类声明为final类说明此类不可以被继承 *  * @author jiqinlin *  */public final class ConnUtils {    private static String url = "jdbc:sqlserver://192.4.33.237:1433;DatabaseName=zsyyris";    private static String user = "sa";    private static String password = "pacs2xm";    /**     * 说明要访问此类只能通过static或单例模式     */    private ConnUtils() {    }    // 注册驱动 (只做一次)    static {        try {            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");        } catch (ClassNotFoundException e) {            throw new ExceptionInInitializerError(e);        }    }    /**     * 获取Connection对象     *      * @return     * @throws SQLException     */    public static Connection getConnection() throws SQLException {        return DriverManager.getConnection(url, user, password);    }    /**     * 释放资源     *      * @param rs     * @param st     * @param conn     */    public static void free(ResultSet rs, Statement st, Connection conn) {        try {            if (rs != null)                rs.close();        } catch (SQLException e) {            e.printStackTrace();        } finally {            try {                if (st != null)                    st.close();            } catch (SQLException e) {                e.printStackTrace();            } finally {                if (conn != null)                    try {                        conn.close();                    } catch (SQLException e) {                        e.printStackTrace();                    }            }        }    }}

//获取图片的地址public String loadReportImages(){    Connection conn = null;    String result3 = "";        CallableStatement statement = null;        String sql = "{call Web_ReportImages(?)}";        try {            conn = ConnUtils.getConnection();            statement = conn.prepareCall(sql);            statement.setString(1, "2015040804390029");            ResultSet rs = (ResultSet) statement.executeQuery();                        while (rs.next()) {                   String result1 = rs.getString("RequisitionID");                   if("".equals(result3)){                   result3 = rs.getString("ImageFileName");                   }                   String result5 = rs.getString("ImageText");                   System.out.println("result1:"+result1+",result3:"+result3+",result5:"+result5);             }                         rs.close();         } catch (SQLException e) {            e.printStackTrace();        }finally{            ConnUtils.free(null, statement, conn);        }return result3;}

先连接数据库,再执行存储程序获取需要的值。


查看的博客有:http://www.cnblogs.com/linjiqin/archive/2011/04/17/2019007.html

                           http://www.cnblogs.com/jams742003/archive/2009/07/20/1526889.html

                          http://blog.csdn.net/java2000_net/article/details/2311956#P2

                         http://blog.csdn.net/yfm10/article/details/4009878

0 0