如何从java servlet&中检索10g中的数据JSP

时间:2009-06-06 15:09:47

标签: java oracle jsp servlets

从Servlet&amp ;;中检索数据库10g中的数据。 JSP

5 个答案:

答案 0 :(得分:3)

这种特殊的猫有无数种剥皮的方法。

首先,它取决于您使用的Web框架(如果有)。就我个人而言,无论您选择哪种Web框架,我都非常喜欢使用Spring。它只是让很多东西变得容易了。轻量级持久性框架包括Spring JDBC和我最喜欢的Ibatis

事实上我写了tutorial on using Spring and Ibatis。实际上,它甚至使用Oracle 10g Express Edition(“Oracle XE”)。

答案 1 :(得分:1)

我认为你的意思是Oracle 10g数据库,如果是这样,JDBC就是答案,启动here(一般)和here(Oracle JDBC驱动程序)。

答案 2 :(得分:1)

使用(订购是我的偏好)

除非你有一堆额外的时间,否则不要使用直接JDBC。

答案 3 :(得分:1)

  • 不在JSP中检索数据,使用MVC架构或至少检索servlet中的数据
  • 使用Spring
  • 写一些DAO类,或者如果你喜欢ORM使用iBatis或Hibernate
  • 如果您需要更具体的信息,请优化您的问题,因为它对您确切需要知道的内容有点模糊

答案 4 :(得分:0)

其他答案列出了人们为实现这一目标必须采用的最佳技术。但要直接回答这个问题,或许最直接的答案就是一个普通的旧JDBC的例子:

private void getYourData() {
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rset = null;
    try {
        Context initContext = new InitialContext();
        Context envContext = (Context) initContext.lookup("java:/comp/env");
        DataSource ds = (DataSource) envContext.lookup("jdbc/yourDatabase");
        conn = ds.getConnection();
        pstmt = conn.prepareStatement(
                "select yourdata " +
                "  from yourtable " +
                "  where yourkey = ? "
                );

        pstmt.setInt(1, yourKeyValue);
        rset = pstmt.executeQuery();
        while (rset.next()) {
            String yourData = rset.getString("yourdata");
        }

        conn.commit();

    } catch (NamingException ne) {
        log.error(ne.getMessage());
    } catch (SQLException se) {
        log.error(se.getMessage());
    } finally {
        if (rset != null) {
            try {
                rset.close();
            } catch (Exception e) {
                log.error(e.getMessage());
            }
        }
        if (pstmt != null) {
            try {
                pstmt.close();
            } catch (Exception e) {
                log.error(e.getMessage());
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (Exception e) {
                log.error(e.getMessage());
            }
        }
    }
}