簡體   English   中英

有沒有一種方法可以在不使用Java中的ResultSet類的情況下從SQL數據庫提取表數據?

[英]Is there a way I can extract table data from a SQL database without using the ResultSet class in Java?

我正在用Java編寫一個相當簡單的數據庫應用程序。 從SQL數據庫提取數據的典型方法如下:

    private Connection conn = null;
    private Statement stmt = null;
    private ResultSet rs = null;

    conn = DriverManager.getConnection("jdbc:mysql://localhost/test?" + "user=monty&password=greatsqldb");
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT foo FROM bar");
    rs.first();
    int firstColumn = getInt(1);
    String secondColumnn = getString(2);

我的問題是ResultSet缺少我想要的許多功能(例如,將返回整行的getRow()方法或將告訴我ResultSet中有多少行的getNumberOfRows()方法)。 我可以自己編寫這些代碼,但是我覺得別人已經擁有了。

有誰知道提供這些方法和其他有用功能的類?

愛ResultSet類的任何人都不會感到冒犯。

如果您只想使用普通的JDBC來完成任務,那么我會拒絕。 數據訪問可分為兩類。

  1. 連接的體系結構您的ResultSet屬於此范圍。

  2. 斷開連接的架構 CachedRowSet屬於此架構

以上答案可能與您的查詢沒有直接關系,但這將有助於您的理解。 您也可以考慮使用ORM(hibernate,JPA, MyBatis )獲得更多面向對象的數據訪問功能方法。 與JDBC相比,它具有許多優勢。

希望這會有所幫助

干杯!

您可以研究適當的ORM,例如休眠或JPA。 這些將允許您通過對象及其OO鏈接(組成,列表,集合等)與DB進行交互。

http://www.hibernate.org/

http://en.wikipedia.org/wiki/Java_Persistence_API

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM