如何使用java连接到mysql数据库?
如何使用java连接到mysql数据库?
回答:
逐步说明如何安装MySQL和JDBC以及如何使用它:
1.下载并安装MySQL服务器。只需按照通常的方式进行即可。每次更改时都请记住端口号。默认情况下3306。
2.下载 JDBC驱动程序并放入classpath,解压缩ZIP文件并将包含的JAR文件放入classpath。特定于供应商的JDBC驱动程序是 JDBC API的具体实现(此处提供了教程)。
如果使用的是Eclipse或Netbeans之类的IDE,则可以通过将JAR文件作为库添加到项目属性中的“ 构建路径”,将其添加到类路径中。
如果在命令控制台中执行“普通香草”操作,则在执行Java应用程序时,需要在-cpor -classpath参数中指定JAR文件的路径。
java -cp。; / path / to / mysql-connector.jar com.example.YourClass
的.是就在那里给添加当前目录到类路径中,以便它可以找到com.example.YourClass和;是类路径分隔符,因为它是在Windows中。在Unix中,:应该使用克隆。
3.在MySQL中创建一个数据库。让我们创建一个数据库javabase。您当然想要世界统治,所以我们也要使用UTF-8。
CREATE DATABASE javabase DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
4.创建 Java 用户并授予其访问权限。仅仅是因为使用root是一种不好的做法。
CREATE USER 'java'@'localhost' IDENTIFIED BY 'password';GRANT ALL ON javabase.* TO 'java'@'localhost' IDENTIFIED BY 'password';
是的,这里java
是用户名,password
也是密码。
5.确定 JDBC URL。要使用Java连接MySQL数据库,您需要使用以下语法的JDBC URL:
jdbc:mysql://主机名:端口/数据库名
hostname
:安装MySQL服务器的主机名。如果将它安装在运行Java代码的同一台计算机上,则可以使用localhost
。也可以是IP地址,例如127.0.0.1。如果遇到连接问题并使用127.0.0.1而不是localhost解决它,则说明您的网络/ DNS /主机配置存在问题。port
:MySQL服务器侦听的TCP / IP端口。默认情况下3306
。databasename
:您要连接的数据库的名称。那是javabase
。
因此,最终网址应如下所示:
jdbc:mysql:// localhost:3306 / javabase
6.使用Java 测试与 MySQL 的连接。创建一个带有main()测试连接方法的简单Java类。
String url = "jdbc:mysql://localhost:3306/javabase";String username = "java";
String password = "password";
System.out.println("Connecting database...");
try (Connection connection = DriverManager.getConnection(url, username, password)) {
System.out.println("Database connected!");
} catch (SQLException e) {
throw new IllegalStateException("Cannot connect the database!", e);
}
如果获得SQLException: No suitable driver,则意味着JDBC驱动程序根本没有自动加载,或者JDBC URL错误(即,任何已加载的驱动程序都无法识别JDBC URL)。通常,只要将JDBC 4.0驱动程序放入运行时类路径中就应该自动加载它。要排除其中的一个,您始终可以按如下所示手动加载它:
System.out.println("Loading driver...");try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver loaded!");
} catch (ClassNotFoundException e) {
throw new IllegalStateException("Cannot find the driver in the classpath!", e);
}
需要注意的是,newInstance()
在呼叫未在这里需要。这只是为了修复旧的越野车org.gjt.mm.mysql.Driver
。如果此行引发ClassNotFoundException
,则根本不会将包含JDBC驱动程序类的JAR文件放置在类路径中。
请注意,您不需要在连接前每次都 加载驱动程序。在应用程序启动期间仅一次就足够了。
如果您使用SQLException: Connection refused
或Connection timed out
或MySQL专用的CommunicationsException
:
Communications link failure
,则意味着该数据库根本无法访问。可能有以下一种或多种原因:
- JDBC URL中的IP地址或主机名错误。
- 本地DNS服务器无法识别JDBC URL中的主机名。
- JDBC URL中的端口号丢失或错误。
- 数据库服务器已关闭。
- DB服务器不接受TCP / IP连接。
- 数据库服务器已用尽连接。
- Java和DB之间的某种事物正在阻止连接,例如防火墙或代理。
要解决一个或另一个,请遵循以下建议:
- 使用验证并测试它们ping。
- 刷新DNS或在JDBC URL中使用IP地址。
- 验证基于my.cnfMySQL DB。
- 启动数据库。
- 验证mysqld是否在不带的情况下启动–skip-networking option。
- 重新启动数据库,并相应地修复您的代码,使其关闭中的连接finally。
- 禁用防火墙和/或配置防火墙/代理以允许/转发端口。
需要注意的是关闭Connection
是极为重要的。如果您不关闭连接并在短时间内保持大量连接,则数据库可能会用尽连接,并且您的应用程序可能会中断。始终Connection
在try-with-resources
声明中获得。或者,如果您尚未使用Java 7,则在finally
一个try-finally
块中显式关闭它。关闭finally
只是为了确保在发生异常时也将其关闭。这也适用于Statement
,PreparedStatement
和ResultSet
。
以上是 如何使用java连接到mysql数据库? 的全部内容, 来源链接: utcz.com/qa/412074.html