首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用JDBC将Java应用程序连接到db4free.net?

如何使用JDBC将Java应用程序连接到db4free.net?
EN

Stack Overflow用户
提问于 2019-03-13 17:15:58
回答 1查看 2.6K关注 0票数 1

我正在做一个大学项目,在这个项目中,我们必须构建一个功能齐全的Java应用程序,使用JDBC构建一个基本的用户登录系统。

当通过本地主机在XAMPP的MariaDB MySQL分支上使用时,基本的用户登录系统工作良好。

显然,这个系统不会在这个特定的网络之外工作,所以我四处寻找方法,允许我在任何时候在线托管一个MySQL数据库--所以不管我去哪里,这个基本的用户登录系统都能工作,并且可以向任何感兴趣的人展示。

然后我找到了db4free.net,到目前为止一切看起来都是有序的-- PHPMyAdmin工作,我成功地从本地主机版本导出并导入了带有用户名和密码的数据库,并将其导入db4free版本。

但是,在如何将我的应用程序连接到db4free的系统上时,我遇到了困难,因此登录系统按预期工作。

下面是处理连接的“连接模块”Java类:

代码语言:javascript
运行
复制
package com.fixer.dal;

import java.sql.*;

public class Connection_Module {
    public static Connection connector(){
        java.sql.Connection cnx = null;
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://db4free.net:3306/db_fixer";
        String user = "myuser";
        String password = "mypassword";

        try {
            Class.forName(driver);
            cnx = DriverManager.getConnection(url, user, password);
            return cnx;
        } catch (Exception e) {
            return null;            
        }
   }
}

下面是使用数据库检查用户名和密码是否与记录的数据匹配的函数(如果匹配,则关闭登录屏幕并打开“主”屏幕):

代码语言:javascript
运行
复制
Connection cnx = null;
PreparedStatement pst = null;
ResultSet rs = null;

public void login(){

    String sql = "select * from usertable where username=? and password=?";
    try {
        pst = cnx.prepareStatement(sql);
        pst.setString(1, Screen_Login_Username_Field.getText());
        pst.setString(2, Screen_Login_Password_Field.getText());
        rs = pst.executeQuery();
        if(rs.next()){
            Screen_Main Main = new Screen_Main();
            Main.setVisible(true);
            this.dispose();
            cnx.close();
        }else{
            JOptionPane.showMessageDialog(null, "Invalid user or password.");
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }

}

这主要是我的问题。db4free.net给了我一个主机("db4free.net")和一个端口("3306"),但我不知道它们到底去了哪里。我尝试了一些方法,使它工作基于其他问题在这里,但没有一个成功地连接到我的数据库在他们的系统。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-13 17:28:39

我刚刚在db4free.com中创建了一个数据库(这是第一次),我使用了:

  1. JDBC8.xJDBC驱动程序(我使用了MySQL驱动程序8.0.11)。
  2. 网址是:

jdbc:mysql://db4free.net:3306/database-name

然而,在MySQL 8.x中,最好添加以下参数以避免处理大量警告:

jdbc:mysql://db4free.net:3306/database-name?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=false

它立刻就像一种魅力。你确认他们发的邮件了吗?你的账户活跃吗?您正在使用JDBC驱动程序8.x吗?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55147748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档