从Servlet&amp ;;中检索数据库10g中的数据。 JSP
答案 0 :(得分:3)
这种特殊的猫有无数种剥皮的方法。
首先,它取决于您使用的Web框架(如果有)。就我个人而言,无论您选择哪种Web框架,我都非常喜欢使用Spring。它只是让很多东西变得容易了。轻量级持久性框架包括Spring JDBC和我最喜欢的Ibatis。
事实上我写了tutorial on using Spring and Ibatis。实际上,它甚至使用Oracle 10g Express Edition(“Oracle XE”)。
答案 1 :(得分:1)
答案 2 :(得分:1)
使用(订购是我的偏好)
除非你有一堆额外的时间,否则不要使用直接JDBC。
答案 3 :(得分:1)
答案 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());
}
}
}
}