如何用JDBC调用存储过程_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 如何用JDBC调用存储过程

如何用JDBC调用存储过程

 2013/8/5 13:08:19  lqb1200  程序员俱乐部  我要评论(0)
  • 摘要:importjava.sql.CallableStatement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.Types;publicclassJdbcTest{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto
  • 标签:过程 存储过程
class="java" name="code">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(); 
            } 
        } 
}
发表评论
用户名: 匿名