我使用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的一个实现。
为了实现解耦,最好使用接口(这样代码中就不会绑定到特定的数据库)

10-08 02:53