导入包和设计模式DAO

jocdrew21

我实际上是在尝试学习访问实践安全性和可读性设计原则的数据库的正确方法。

首先,导入所需的软件包时出现了一个怪异的问题。下面是我目前正在尝试运行的App类,以确保一切正常,并且在进一步编写代码之前可以连接到数据库。

package application;

import dataBase.MySQLDataBaseDAO;
import establishConnection;  //error

public class App {

public static void main(String[] args) {

    MySQLDataBaseDAO database;
    new DataBaseConnection();//naturally error a too
}

}

这只是我尝试导入的软件包的一小段。

package dataBase;

import java.util.List;

public class MySQLDataBaseDAO {


MySQLDataBaseDAO(){

}

void insert(Person person) {

}

void find(Person person) {

} 

此类将使用依赖项注入来创建GUI,并询问用户的用户名和密码并连接到数据库。

package establishConnection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

class DataBaseConnection {

private Connection conn = null;
private String URL = "jdbc:mysql://localhost/employee";
private String userName = "";
private String passWord = "";

DataBaseConnection() {
    connect();
}

如果不清楚,我的问题是:1)我的输入错了吗?我想从不同包中的类调用构造函数。2)我的设计看起来如何。我没有发布整个代码,因为我没有惹恼任何发布时间较长的人。

维京史蒂夫

您的应用初始化应如下所示:

package application;

import dataBase.DataBaseDAO;
import dataBase.MySQLDataBaseDAO;
import establishConnection.DataBaseConnection;

public class App {
    public static void main(String[] args) {
        DataBaseConnection connection = new DataBaseConnection();
        DataBaseDAO databaseDao = new MySQLDataBaseDAO(connection);
    }
}

而且您的MySqlDataBaseDAO需要数据库连接。

package dataBase;

import establishConnection.DataBaseConnection;

public class MySQLDataBaseDAO extends DataBaseDAO {
    private DataBaseConnection connection;

    public MySQLDataBaseDAO(DataBaseConnection connection) {
        this.connection = connection;
    }

    public void insert(Person person) { }

    public void find(Person person) { }
}

最后,它应该有extend一个名为的接口DataBaseDAO

打包数据库;

public interface DataBaseDAO {
    public void insert(Person person);
    public void find(Person person);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章