我正在用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()方法会返回整行,或者一个getNumberOfRows()方法会告诉我有多少行在结果集)。我可以自己编码,但我觉得别人已经有了。
是否有人知道提供这些方法和其他有用功能的类?
任何喜欢ResultSet类的人都没有冒犯。
答案 0 :(得分:1)
如果你只想用普通的JDBC来完成你的任务,那么我会说不。 数据访问可以分为两类。
已连接架构 您的ResultSet属于此范围。
断开连接的架构 CachedRowSet属于这个。
上述答案可能与您的查询没有直接关系,但这有助于您的理解。您还可以考虑使用ORM(hibernate,JPA,MyBatis)来实现更加面向对象的数据访问功能。它比JDBC有许多优势。
希望这会有所帮助
干杯!
答案 1 :(得分:0)
您可以查看适当的ORM,例如hibernate或JPA。这些将允许您通过对象及其OO链接(组合,列表,集等)与DB进行交互。