由于连接和语句是接口,因此默认情况下接口方法将是抽象的。如何在连接数据库时在Java程序中创建Connection和Statement接口?
答案 0 :(得分:2)
实际上,JDBC驱动程序提供了实现。 API为您提供了一种使用该方法的方法。请看this example。
答案 1 :(得分:2)
实现由数据库的JDBC驱动程序提供。例如对于MySql,您可以下载JDBC Driver for MySQL (Connector/J)并将jar文件放在应用程序的类路径中。
然后你调用DriverManager(例如)这会给你一个实现Connection接口的类的实例。
Connection c = DriverManager.getConnection("jdbc:mysql://[yourhost]/[nameofyourdb]?user=[username]&password=[password]");
现在,您可以从Connection实例中获取实现Statement接口的类的实例。
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM [yourtablename]");
....
有关更多示例,请稍微谷歌(JDBC,java,[nameofyourdb])
对于Connector / J,这里有一个很好的文档
答案 2 :(得分:0)
实际上,接口由Sun提供,并且每个人都知道接口是一组规则,将用于特定的编程性质和一致的结构。因此数据库供应商采用该接口并将导致API不破坏原型。因此,无论其逻辑如何,每个供应商都实现了与该接口相同的名称。
因此,开发人员无需担心其实现,只需了解接口名称即可。
答案 3 :(得分:0)
我在工作中研究过数据库的抽象。这是一些示例代码
Database database = new Database(new SQL("host", "port","database", "username","password"));
List<tStd_M_lt> bases = database.select(tStd_M_lt.class, new Where(tStd_M_lt.FIELDS.ITEM_ID.getDatabaseFieldName(), OPERATOR.LIKE, "?"), "%Base%");
for (tStd_M_lt base : bases)
{
List<tShower_Base_Kit> kits = database.selectByForiegnKey(tShower_Base_Kit.class, base);
}
该项目名为azirt。