栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用java连接到mysql数据库?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用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_unipre_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
,则意味着该数据库根本无法访问。可能有以下一种或多种原因:

  1. JDBC URL中的IP地址或主机名错误。
  2. 本地DNS服务器无法识别JDBC URL中的主机名。
  3. JDBC URL中的端口号丢失或错误。
  4. 数据库服务器已关闭。
  5. DB服务器不接受TCP / IP连接。
  6. 数据库服务器已用尽连接。
  7. Java和DB之间的某种事物正在阻止连接,例如防火墙或代理。

要解决一个或另一个,请遵循以下建议:

  1. 使用验证并测试它们ping。
  2. 刷新DNS或在JDBC URL中使用IP地址。
  3. 验证基于my.cnfMySQL DB。
  4. 启动数据库。
  5. 验证mysqld是否在不带的情况下启动–skip-networking option。
  6. 重新启动数据库,并相应地修复您的代码,使其关闭中的连接finally。
  7. 禁用防火墙和/或配置防火墙/代理以允许/转发端口。

需要注意的是关闭

Connection
是极为重要的。如果您不关闭连接并在短时间内保持大量连接,则数据库可能会用尽连接,并且您的应用程序可能会中断。始终
Connection
try-with-resources
声明中获得。或者,如果您尚未使用Java 7,则在
finally
一个
try-finally
块中显式关闭它。关闭
finally
只是为了确保在发生异常时也将其关闭。这也适用于
Statement
PreparedStatement
ResultSet



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/363934.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号