zoukankan      html  css  js  c++  java
  • 【原创】JavaEE项目问题总结(1)

      近期一直都在给老板做项目,空闲时间不多,好久没来博客园了,今天算是空闲下来,过来记录下做JavaEE项目时遇到的问题。本文需要持续更新……

    1、Hibernate调用无参存储过程问题

      最近一起做项目的朋友总是问我Hibernate中如何调用存储过程,其实我也记不清楚详细的步骤是怎样的,每次都是现从网上找到具体的例子,然后再告诉他们怎么搞,感觉这样做多少遍都没有实际的意义,倒不如今天就记录一下,也算给自己长长记性。

      其实Hibernate调用存储过程主要有如下5个步骤:

    1. 声明变量,包括Connection,CallableStatement
    2. 获得connection连接
    3. 使用Connection的prepareCall方法关联存储过程,返回CallableStatement对象
    4. 调用CallableStatement对象的execute()执行存储过程
    5. 获取存储过程的返回值
    6. 关闭Connection,CallableStatement

      通过上述6个步骤就可以应对无参存储过程了。

      具体举例如下:

    //1、声明变量
    Connection conn = null;
    CallableStatement call = null;
    
    //2、获得Connection
    Session session = HibernateSessionFactory.getSession() ;
    conn = session.connection();
    try {
    //3、调用prepareCall方法
        call = conn.prepareCall("{call Pro_GetSerialIDNvarcharByFQCBatchCheckout(?)}");
        call.registerOutParameter(1, java.sql.Types.VARCHAR);
    //4、执行存储过程
        call.execute();
    //5、获取返回值
        id = call.getString(1);
    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
    //6、关闭连接
        try {
             if (call != null){
            call.close();
            call
    =null; } if (conn != null){
            conn.close();
            conn
    =null;   } } catch (SQLException e) { e.printStackTrace(); } }

      由于第一次使用SSH做项目,细节问题不是特别清楚,所有若上述描述中存在问题,希望各位不吝赐教,先行谢过啦。

    本文出自 “1Q84mi” 博客,请务必保留出处
  • 相关阅读:
    第二阶段冲刺总结09
    第二阶段冲刺总结08
    第二阶段冲刺总结07
    51nod 1799 二分答案(分块打表)
    51nod 1574 排列转换(贪心+鸽巢原理)
    Codeforces 618D Hamiltonian Spanning Tree(树的最小路径覆盖)
    Codeforces 627D Preorder Test(二分+树形DP)
    BZOJ 2427 软件安装(强连通分量+树形背包)
    BZOJ 2467 生成树(组合数学)
    BZOJ 2462 矩阵模板(二维hash)
  • 原文地址:https://www.cnblogs.com/1Q84mi/p/3063704.html
Copyright © 2011-2022 走看看