使用套接字将MySQL数据库连接到javaApp

时间:2016-05-07 13:49:11

标签: java mysql database javafx serversocket

我正在尝试使用Java Eclipse(JavaFX,MySQL)为桌面创建一个“在线”支付系统。这个想法是客户(或提供商)可以登录/注册到应用程序,然后他可以支付账单(客户端)或创建它们(提供商)。 我做了与数据库的所有连接,但它是本地的,据我所知,为了更好的程序功能,我应该使用Sockets / ServerSockets在数据库和用户之间建立连接(可能是客户端/提供者)。 我尝试搜索过,我仍然在寻找能够帮助我了解这种连接如何工作的代码。 因此,我要求使用ServerSocket / Socket在主程序和数据库之间建立连接的示例,其中Client类具有:

public class Client extends User{
private String ID_card, name, surname;
private double founds;

public Client(int id, String userName, String password, String email, String ID_card, double founds, String name, String surname) {
    super(id, userName, password, email);
    this.ID_card = ID_card;
    this.founds = founds;
    this.name = name;
    this.surname = surname;

}

另外,如果可能的话,我真的很感激使用ServerSocket / Socket将客户端添加到数据库的示例。 (即使是一个完美的链接) 这是我对本地数据库的addClient方法(光盘使客户端和提供者之间产生差异)

public void addClient(Client client) {
    try {
        Connection conn = getConnection();
        PreparedStatement ps = conn.prepareStatement(
                "insert into users(username,password,email,ID_card,name,surname,disc) values(?,?,?,?,?,?,?)",
                Statement.RETURN_GENERATED_KEYS);
        ps.setString(1, client.getUserName());
        ps.setString(2, client.getPassword());
        ps.setString(3, client.getEmail());
        ps.setString(4, client.getID_card());
        ps.setString(5, client.getName());
        ps.setString(6, client.getSurname());
        ps.setString(7, "client");
        ps.executeUpdate();
        ResultSet rs = ps.getGeneratedKeys();
        if (rs.next()) {
            client.setId(rs.getInt(1));
        }
        closeConnection(conn);
    } catch (SQLException e) {
        e.printStackTrace();
    }

}

0 个答案:

没有答案