03_JDBC实战连接Mysql数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012424783/article/details/79967580

实战环境

  • JDK1.8
  • Mysql5.6
  • mysql-connector-java-6.0.6.jar

建立一个连接

首先,用你想用的数据源建立一个连接。这个数据源可以是DBMS,一个传统的文件系统或者是其他的使用了相应的JDBC驱动程序的数据源。这个连接被一个Connection对象所表示出来。通常来说,一个JDBC应用连接一个目标数据源用下面两种类中的一种即可:

  • DriverManager

    这个完全实现的类将应用程序连接到由数据库url指定的数据源。当此类第一次尝试建立一个连接,它会自动在应用的classpath下加载发现的任意JDBC4.0驱动。注意你的应用程序必须手动的加载JDBC版本在4.0版本之前。

  • DataSource

    这个接口优于DriverManager,是因为它允许底层数据源的详细信息对应用程序而言是透明的。一个DataSource(数据源)对象的相关属性被设置,以便它代表一个特定的数据源

使用DriverManager

想使用DriverManager连接到你的DBMS,可以使用DriverManager类的DriverManager.getConnection方法。

public Connection getConnection() throws SQLException {
    Connection conn = null;
    Properties connectionProps = new Properties();
    // 设置连接帐号
    connectionProps.put("user","");
    // 设置连接密码
    connectionProps.put("password","");
    // 获取连接
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test");
    System.out.println("Connected to database " + conn);
    return conn;
}

方法DriverManager.getConnection建立了一个数据库连接。这个方法需要一个数据库连接URL,这个URL取决于你使用的是那种数据库了,这里使用的是Mysql数据库,所以连接的URL应该是下面这种形式的:

Mysql:jdbc:mysql://localhost:3306/

localhost:你想要连接的数据库的主机名,用ip也行

3306:端口号,Mysql的默认端口号是3306,请根据实际情况进行填写

注意:

  • 通常来说,在数据库连接地址URL上,你也能够指定你想要连接的已经在数据库中存在的数据库的名称,例如:jdbc:mysql://localhost:3306/mysql,这个连接就代表这你要连接的数据库中的mysql数据库。

  • 在之前版本的JDBC中,想要获得一个连接,你的第一步是要通过调用Class.forName来实例化你的JDBC驱动。这个方法需要一个java.sql.Driver类型的对象。和一个Mysql Connector/J 的驱动com.mysql.jdbc.Driver。

    任意JDBC4.0的驱动都会自动在你的类路径下加载驱动(然后,你必须手工的用Class.forName方法加载JDBC4.0之前的版本的驱动)

这个方法将会返回一个Connection对象,这个对象代表了DBMS或者是一个指定的数据库。通过这个对象,你就可以执行数据库的查询操作了。

实战

需求

连接本地的mysql数据库中的test数据库,并打印出连接的数据库名。

代码

public static Connection getConnection() {
        try (Connection connection = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=UTC", "root", "aA123456")) {
            System.out.println("Connected to database : " + connection.getCatalog());
            return connection;
        } catch (Exception e) {
            System.out.println("Connected error " + e);
        }
        return null;
    }

指定数据库连接URL

一个数据库连接的URL是一个让你的DBMS JDBC的驱动去连接你的数据库的字符串。它包含了数据库的地址信息,你想要连接的数据库名称,和一些配置信息。数据库连接的URL的确切语法则有该数据库的DBMS指定。

MySQL Connector/J DatabaseURL

以下是MySQL Connector/J 的数据库连接url语法:

jdbc:mysql://[host][,failoverhost...]
    [:port]/[database]
    [?propertyName1][=propertyValue1]
    [&propertyName2][=propertyValue2]...

参数解释:

  • host:port 

    是托管数据库的计算机的主机名和端口号,如果没有特别指定,默认的host:port 是127.0.0.1:3306。

  • database

    要连接的数据库名,如果没有指定,则建立一个没有默认数据库的连接。

  • propertyName=propertyValue

    可选参数,以&符号分隔的属性列表,例如执行数据库连接的时区,所使用的字符集,是否需要ssl认证等属性,可以从Mysql Reference Manual中查询。

这里只对Mysql的连接方式做出说明,如果需要其他连接方式,也大同小异。

参考文章:https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页