我使用tomcat7,java 1.6访问mysql数据库。我要从一个像
java.sql.ResultSet set=getStuff();
ResultSetMetaData meta = set.getMetaData();
问题是,set.getMetaData返回
com.mysql.jdbc.Driver
,但我在jdbc中使用mysql,所以它不应该返回java.sql.ResultSetMetaData;
?我输入的东西有问题吗?如果不是,什么时候使用com.mysql.jdbc.ResultSetMetaData;
或有什么区别? 最佳答案
驱动程序的角色实际上是抽象数据库特定代码的使用。
所以您只需指定驱动程序,然后与不依赖于数据库的api交互。
如果仔细观察,您会发现com.mysql.jdbc.ResultSetMetaData
是接口java.sql.ResultSetMetaData
的一个实现。
为了实现解耦,最好使用接口(这样代码中就不会绑定到特定的数据库)