fedoracle 2009-05-18 14:47
浏览 235
已采纳

不使用hibernate只使用struts2结构怎么对数据库进行操作

我现在在做毕设,使用了struts2,现在不想用hibernate,感觉用上更麻烦,不知道大家不用hibernate都是怎么连接数据库的,用jdbc编程,我现在写代码倒是能对数据库进行操作,不过要是每次都进行连接和断开连接实在太麻烦,要是写一个类传入sql语句的话不知道怎么写好,哪位大侠给指条明路?时间不多了,我也觉得学hibernate来不及了
[b]问题补充:[/b]
能不能具体说一下呢?我现在想出来的方法是这样
[code]
package lee;

import oracle.jdbc.*;
import oracle.jdbc.pool.OracleDataSource;

import java.sql.*;

public class BookQuerySql{

private String bqs;

public BookQuerySql(String booksql) {
    this.bqs = booksql;
}

OracleDataSource ods = null;
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;

public void bookConnect() throws SQLException {
    ods = new OracleDataSource();
    ods.setURL("jdbc:oracle:thin:@localhost:1521:orcl");
    ods.setUser("scott");
    ods.setPassword("tiger");
    conn = ods.getConnection();
}

public ResultSet bookresult() throws SQLException {
    stmt = conn.createStatement();
    rset = stmt.executeQuery(bqs);
    return rset;
}

public void bookClosed() throws SQLException {
    if (rset != null)
        rset.close();
    if (stmt != null)
        stmt.close();
    if (conn != null)
        conn.close();
}

}
[/code]
用的时候是这样
[code]
package lee;

import java.sql.ResultSet;
import java.sql.SQLException;
import lee.BookQuerySql;

public class BookService {

BookQuerySql mysql=new BookQuerySql("select * from emp");
private String[] books=new String[20];
private int i=0;
public void getValue() throws SQLException{
mysql.bookConnect();
ResultSet myresult=mysql.bookresult();
while (myresult.next ()){
    System.out.println(myresult.getString (1));
    books[i]=myresult.getString(1);
    i++;
    }
mysql.bookClosed();
}
public String[] getLeeBooks()
{
    return books;
}

}
[/code]
[b]问题补充:[/b]
我用的是oracle 11g,wubo可以说一下你的方法比这个好在哪里么?

  • 写回答

2条回答 默认 最新

  • wubo19842008 2009-05-18 16:42
    关注

    省去了你自己构建数据源的步骤,如果数据源部署到应用服务器上,还可以帮你管理这些数据源,同时还可以监控他们。你的方法是和数据库耦合太强了,如果切换成其他数据库,在构建数据源的时候你的方案不就行不通了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog