JDBC调用存储过程

来源:互联网 发布:发热丝绕线数据 编辑:程序博客网 时间:2024/06/06 16:51

加载驱动
获取连接
设置参数
执行
释放连接

package com.test.lyh;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Types;public class JdbcTest {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        Connection cn = null;        CallableStatement cstmt = null;             try {            //这里最好不要这么干,因为驱动名写死在程序中了            Class.forName("com.mysql.jdbc.Driver");            //实际项目中,这里应用DataSource数据,如果用框架,            //这个数据源不需要我们编码创建,我们只需Datasource ds = context.lookup()            //cn = ds.getConnection();                      cn = DriverManager.getConnection("jdbc:mysql:///test","root","root");            cstmt = cn.prepareCall("{call insert_Student(?,?,?)}");            cstmt.registerOutParameter(3,Types.INTEGER);            cstmt.setString(1, "wangwu");            cstmt.setInt(2, 25);            cstmt.execute();            //get第几个,不同的数据库不一样,建议不写            System.out.println(cstmt.getString(3));        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        finally        {            /*try{cstmt.close();}catch(Exception e){}            try{cn.close();}catch(Exception e){}*/            try {                if(cstmt != null)                    cstmt.close();                if(cn != null)                                  cn.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }
原创粉丝点击