1

私はtomcat7、java 1.6を使用して、。を使用してmysqlデータベースにアクセスしていcom.mysql.jdbc.Driverます。次のようなテーブルからメタデータを取得しようとしていました

java.sql.ResultSet set=getStuff();
ResultSetMetaData meta = set.getMetaData();

問題は、set.getMetaDataが返さjava.sql.ResultSetMetaData;れることですが、jdbcでmysqlを使用しているので、返されるべきではありませんcom.mysql.jdbc.ResultSetMetaData;か?何か間違ったものをインポートしましたか?そうでない場合、いつcom.mysql.jdbc.ResultSetMetaData;使用されますか、または違いは何ですか?

4

1 に答える 1

3

ドライバーの役割は、実際にはデータベース固有のコードの使用を抽象化することです。したがって、ドライバーを指定してから、データベースに依存しないAPIを操作するだけです。

よく見ると、それcom.mysql.jdbc.ResultSetMetaDataがインターフェースの実装であることがわかりますjava.sql.ResultSetMetaData

そして、分離するために、インターフェースを使用する方が良いでしょう(コード内の特定のデータベースに縛られないようにするため)

于 2013-03-10T20:10:04.577 に答える