gpt4 book ai didi

java - 使用 DAO 的 Bean 类编译错误

转载 作者:行者123 更新时间:2023-12-01 13:50:13 25 4
gpt4 key购买 nike

我有一个从 bean 类输出文本的 xhtml 文件。该程序使用 DAO 架构连接到 MySql 数据库。我下面的代码试图查询数据库以显示所有条目的列表。我在 MyFixBean 类中收到以下错误。

我的 xhtml 文件:

<h:outputText value="#{myFixBean.mydata}" /></h:column>

我的java文件(简化间距):

public class MyFixBean {    

private DAOFactory fix = DAOFactory.getInstance("fix_site2.jdbc");
private MyDataDAO datalist = fix.getMyDataDAO();
private List<MyData> mydata = datalist.list();

public List<MyData> getMydata() {
return mydata;
}
}

public abstract class DAOFactory {
public MyDataDAO getMyDataDAO() {
return new MyDataDAOJDBC(this);
}
}

public interface MyDataDAO {
List<MyData> list() throws DAOException;
}

public class MyDataDAOJDBC implements MyDataDAO {
private DAOFactory daoFactory;
private static final String SQL_FIND_ALL = "SELECT * FROM account_list";

MyDataDAOJDBC(DAOFactory daoFactory) {
this.daoFactory = daoFactory;
}
public List<MyData> list() throws DAOException {
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
List<MyData> data = new ArrayList<MyData>();

try {
connection = daoFactory.getConnection();
preparedStatement = connection.prepareStatement(SQL_FIND_ALL);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
data.add(map(resultSet));
}
} catch (SQLException e) {
throw new DAOException(e);
} finally {
close(connection, preparedStatement, resultSet);
}
return data;
}
}

我收到的错误是:

WARNING: StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet     threw exception
java.lang.Error: Unresolved compilation problem:
Unhandled exception type DAOException
at mybeans.MyFixBean.<init>(MyFixBean.java:21)

第 21 行:

private List<MyData> mydata = datalist.list();

归功于 BalusC。我的程序基于他的 DAO 教程中的代码。为了节省空间,我将该网站排除在代码之外。

最佳答案

这不是 JSF 也不是 Dao 设计模式实现问题。这是一个基本的 Java 问题: Unresolved 编译问题。确保包 mybeans 中有一个 DAOException 类(或者该异常所在的包)。

基本示例:

package mybeans;

public class DAOException extends RuntimeException {
//implement the exception as you want/need...
}

关于java - 使用 DAO 的 Bean 类编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20021142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com