[英]How can I get the column name of the primary key of a Database Table from the ResultSet or ResultSetMetaData object in JAVA?
[英]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來完成任務,那么我會拒絕。 數據訪問可分為兩類。
連接的體系結構您的ResultSet屬於此范圍。
斷開連接的架構 CachedRowSet屬於此架構 。
以上答案可能與您的查詢沒有直接關系,但這將有助於您的理解。 您也可以考慮使用ORM(hibernate,JPA, MyBatis )獲得更多面向對象的數據訪問功能方法。 與JDBC相比,它具有許多優勢。
希望這會有所幫助
干杯!
您可以研究適當的ORM,例如休眠或JPA。 這些將允許您通過對象及其OO鏈接(組成,列表,集合等)與DB進行交互。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.