mysql的java jdbc数据源部署

irlmq6kh  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(403)

我正在努力学习如何使用jdbc和java教程中的jdbc(https://docs.oracle.com/javase/tutorial/jdbc/basics/sqldatasources.html),它表示系统管理员需要创建basicdatasource对象,设置其属性,并使用以下代码向命名服务注册datasource对象:

com.dbaccess.BasicDataSource ds = new com.dbaccess.BasicDataSource();
ds.setServerName("grinder");
ds.setDatabaseName("CUSTOMER_ACCOUNTS");
ds.setDescription("Customer accounts database for billing");

Context ctx = new InitialContext();
ctx.bind("jdbc/billingDB", ds);

然后开发人员可以使用部署的数据源对象来获取连接。
目前,我正在使用mysql并下载connector/j,但是我对如何部署数据源感到困惑。据我所知,basicdatasource部署在服务器上。既然我将mysql服务器设置为在本地机器上,那是意味着我需要创建另一个java程序来创建这个数据源,以便我的用户程序可以连接到它,还是意味着我需要配置mysql服务器?

uyhoqukh

uyhoqukh1#

以上的评论应该足以达到你自己的目标。但是,如果您是住院患者,这里有一个代码片段可以让您更轻松:

public static void main(String[] args) {

    //pz is the name of database, user is user name, password is password for the user
    try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/pz?" +
            "user=root&password=root")) {
        // Do something with connection, e.g:
        System.out.println("conn: " + connection.getCatalog());

    } catch (SQLException e) {
        System.err.println("Error: " + e.getMessage());
        e.printStackTrace();
    }
}

我使用的mysql j connector是mysql-connector-java-8.0.9-rc-bin.jar(您将得到如下关于ssl的警告:
7月20日星期五20:16:10 cest 2018警告:不建议在没有服务器身份验证的情况下建立ssl连接。根据mysql 5.5.45+、5.6.26+和5.7.6+的要求,如果没有设置explicit选项,默认情况下必须建立ssl连接。为了符合不使用ssl的现有应用程序,verifyservercertificate属性设置为“false”。您需要通过设置usessl=false显式禁用ssl,或者设置usessl=true并为服务器证书验证提供信任库。

相关问题