基本上,在JDBC中,大多数此类属性都无法像这样在API中进行配置,而是取决于实现。JDBC处理此问题的方法是允许每个供应商的连接URL都不同。
因此,您要做的就是注册驱动程序,以便JDBC系统知道如何处理URL:
DriverManager.registerDriver((Driver) Class.forName("com.mysql.jdbc.Driver").newInstance());然后形成URL:
String url = "jdbc:mysql://[host][,failoverhost...][:port]/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]"
最后,使用它来获得连接:
Connection c = DriverManager.getConnection(url);
在更复杂的JDBC中,您会涉及到连接池等,并且应用程序服务器通常具有自己的在JNDI中注册驱动程序的方式,并且您从那里查找数据源,然后在其上调用getConnection。
关于MySQL支持的属性,请参见此处。
编辑:再想一想,从技术上讲,只要有一行代码做Class.forName(“
com.mysql.jdbc.Driver”)就足够了,因为该类应具有自己的静态初始化器,该初始化器注册一个版本,但有时JDBC驱动程序没有,因此,如果您不确定,注册第二个驱动程序几乎没有什么害处,它只是在内存中创建一个重复的对象。



