手动设置JDBI的驱动程序

时间:2015-03-09 15:35:30

标签: java mysql jdbi

现在我正在用Java编写一个程序,它将作为插件插入现有的应用程序中。 我想在我的插件中使用JDBI(因为它非常舒服并且我已经习惯了)并且需要连接到MySQL数据库。

通常在包含驱动程序后工作正常,但现有应用程序存在问题。显然它已经有一个mysql驱动程序,但是已经过时了。

这会导致错误,并且无法向数据库发送查询。 (错误已知:旧驱动程序已弃用不能与新MySQL版本一起使用的方法)

我认为对我的罐子进行着色会有所帮助(我使用maven)但错误仍然存​​在。 但我知道我的驱动程序的阴影名称,我只需要知道如何加载它,以便JDBI将使用它。现在我有这样的事情:

Class.forName("myapp.mysql.jdbc.Driver").newInstance();

DBI dbi = new DBI(String.format("jdbc:mysql://localhost/test", username, password);

告诉jdbi必须使用myapp.mysql.jdbc.Driver

,我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用DataSource api代替。你不必做Class.forName(我觉得icky)。 MySQL DataSource实现有一个setUrl方法,需要jdbc:mysql://...。然后,您可以将DataSource传递给DBI。这是一个例子:

MysqlDataSource ds = new MysqlDataSource();
ds.setUrl(dbUrl);
DBI dbi = new DBI(ds);