Java crud控制器和DAO之间的区别是什么?
我收到了一个带有一些空骨架文件的分配文件。在这些文件中,有两个接口我似乎无法理解。这个:Java crud控制器和DAO之间的区别是什么?,java,mysql,crud,dao,Java,Mysql,Crud,Dao,我收到了一个带有一些空骨架文件的分配文件。在这些文件中,有两个接口我似乎无法理解。这个: /* * Interface defining abstract CRUD methods for each of your Controllers. */ public interface CrudController<T> { List<T> readAll(); T readyById(); T create(); T update(); int delete()
/*
* Interface defining abstract CRUD methods for each of your Controllers.
*/
public interface CrudController<T> {
List<T> readAll();
T readyById();
T create();
T update();
int delete();
}
/*
*为每个控制器定义抽象CRUD方法的接口。
*/
公共接口CrudController{
List readAll();
T readyById();
T create();
T更新();
int delete();
}
还有这个:
/*
* Interface defining abstract CRUD methods for each of your Data Access Objects.
* Implementation of this will involve JDBC.
*/
public interface DAO<T> {
List<T> readAll();
T readById(Long id);
T readLatest();
T create(T t);
T update(T t);
int delete(Long id);
T modelFromResultSet(ResultSet resultSet) throws SQLException;
}
/*
*为每个数据访问对象定义抽象CRUD方法的接口。
*这将涉及JDBC的实现。
*/
公共接口DAO{
List readAll();
T readById(长id);
T readLatest();
T创建(T);
T更新(T);
int-delete(长id);
modelFromResultSet(ResultSet ResultSet)抛出SQLException;
}
我不明白的是,为什么这两个都需要。这项工作应该与使用Java管理mySql模式有关。CrudController和DAO类之间的区别是什么,我认为这两个类都用于数据库持久性和读取。传统上,分离是为了分离与数据库/持久性和业务逻辑的交互。在这种情况下,两者之间的区别在于CrudController将处理业务/应用程序逻辑,而dao将处理持久性逻辑。例如,在REST应用程序的范围内,控制器接收请求并调用dao的实现(或调用dao的服务)以执行数据库操作。根据您的接口代码,CRUDController从类字段获取输入,而dao从方法参数获取输入。否则,两个类都从数据库获取信息。我不确定modelFromResultSet方法应该做什么。