当您在应用程序服务器之外使用JDBC时,DriverManager
类管理建立连接。
指定到DriverManager
哪个JDBC驱动程序尝试与之连接。最简单的方法是使用class.forname()
类的java.sql.driver.
接口。对于MySQL Connector/J,这个类的名称是com.mysql.cj.jdbc.driver.
。使用此方法,您可以使用外部配置文件来提供连接到数据库时使用的驱动程序类名和驱动程序参数。
Java代码的下面一节展示了如何从main ()
方法。如果测试此代码,请先阅读安装部分第3.3节“连接器/ j安装”,确保正确安装连接器以及班级
设置。此外,请确保MySQL配置为接受外部TCP / IP连接。
进口java.sql.Connection;进口java.sql.DriverManager;进口java.sql.SQLException;//注意,不要导入com.mysql.cj.jdbc。* //或者你会有问题!公共类LoadDriver {公共静态void main(String [] args){try {// newInstance()调用是for for some // backing java实现class.forname(“com.mysql.cj.jdbc.driver”的工作).newinstance();catch(例外前){//处理错误}}}}}
在司机已经注册后DriverManager
,你可以获得一个联系
通过调用连接到特定数据库的实例DriverManager.getConnection ()
:
示例3.1连接器/ J:获取从中获取连接DriverManager
如果您还没有这样做,请查看部分第3.6.1节,“使用JDBC连接到MySQLDriverManager
界面”在使用下面的例子之前。
这个例子展示了如何获取联系
实例来自DriverManager
。有几个不同的签名getConnection()
方法。有关如何使用它们的更具体信息,请10bet官方网站参阅JDK附带的API文档。
进口java.sql.Connection;进口java.sql.DriverManager;进口java.sql.SQLException;连接conn = null;…try {conn = DriverManager.getConnection("jdbc:mysql://localhost/test?"+“用户= minty&password = greatsqldb”);//做一些与连接…} catch (SQLException ex){//处理任何错误println("SQLException: " + ex.getMessage());system . out。println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); }
一次联系
是建立的,它可以用来创造陈述
和准备好
对象,以及检索关于数据库的元数据。这在以下部分中解释。
用于连接器/ J 8.0.24及更高版本:当用户的连接是未指定的时,Connector / j使用运行应用程序的OS用户的名称与MySQL Server进行身份验证。
只有在满足以下条件时,才会考虑用户名:
该方法
DriverManager.getConnection(String URL,String用户,字符串密码)
未使用。连接属性
用户
不用于诸如连接URL或其他地方。连接URL的权限中未提及用户,如
jdbc: mysql: / / localhost: 3306 /测试
, 或者jdbc: mysql: / / @localhost: 3306 /测试
。
注意如果(1)或(2)不为止并且传递空字符串,则用户名是空字符串,则不会被视为未指定。