如何用java取得在oracle后台取得的sequence的序号的相关推荐

 我来答
time陌言成殇
2015-02-01 · TA获得超过8.4万个赞
知道大有可为答主
回答量:1.4万
采纳率:91%
帮助的人:8292万
展开全部

您好,很高兴为您解答。

public class SeqManager {
  protected String dataSource = "java:/OracleDS";
   public SeqManager() {
   }
   /**
    * 从数据库连接中取的一连接
    *
    * @param String dataSource 为数据源JNDI
    *
    *
    * 返回值为数据库连接
    *
    */
   protected Connection getConnection(String dataSource)
   {
     Connection con = null;
     try
     {
         InitialContext ic = new InitialContext();
         DataSource ds = (DataSource) ic.lookup(dataSource);
         con = ds.getConnection();
         System.out.println("connection is :" + con);
//         con.setAutoCommit(false);
     } catch(NamingException e)
     {
         String err = "连接数据库时出错:找不到JNDI名称" + dataSource;
         System.out.println(e);
         e.printStackTrace();
     } catch (SQLException ex)
     {
         String  err = "连接数据库时出错:创建不了数据库连接";
         System.out.println(ex);
         ex.printStackTrace();
     }
     return con;
   }
   /**
    * 取Sequence的公共方法
    *
    * @param String sql 为传进的SQL语句
    *
    *
    * 返回值为Sequence值
    *
   */
   protected Long getNextValOfSeq(String sql) throws SQLException
   {
     Connection con = getConnection(dataSource);
     PreparedStatement pst = con.prepareStatement(sql);
     ResultSet rs = pst.executeQuery();
     try
     {
       if (rs.next()) {
         return new Long(rs.getLong(1));
       }
       else {
         return null;
       }
     }catch(SQLException e)
     {
       throw e;
     }finally
     {
       rs.close();
       pst.close();
       con.close();
     }
   }
   public Long getNextValOfStudEntrScore() throws SQLException
   {
     String sql = " Select SeqStudEntrScore.NextVal From Dual ";
     try
     {
       return getNextValOfSeq(sql);
     }catch (SQLException e)
     {
       String errorMessage = "取***Sequence时出错.";
       e.printStackTrace();
       throw new SQLException(errorMessage);
     }
   }
}



在jsp里调用这个javaBean
jsp就是一个servlet
操作数据库没什么区别


如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】


希望我的回答对您有所帮助,望采纳!


                                                                                                                             ~ O(∩_∩)O~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式