1 java oop design-patterns jdbc
我在java中的第一个项目将是一个程序(最终我不得不创建一个GUI界面,但现在CLI会做)来跟踪我的书(类似于图书馆只有一个简单的东西).我需要能够插入,更新,删除,显示所有书籍,更新,搜索(按名称或作者或日期).
对于设计我正在考虑一个主类库,它将具有连接到db并检索数据的所有上述方法.
这种方法可以吗?我意识到这很简单,但这是我的第一个真正的项目,我希望得到一些反馈.
此外,考虑阅读设计模式和数据库设计还为时尚早吗?
您想查找DAO(数据访问对象)模式.
首先,创建一个代表一本书(也称为实体)的Javabean类.
public class Book {
private Long id;
private String title;
private String author;
private Date date;
// Add/generate c'tor/getter/setter/hashcode/equals/tostring boilerplate.
}
Run Code Online (Sandbox Code Playgroud)
然后,创建一个DAO类,在书上执行所需的操作.
public class BookDAO {
public Book find(Long id) throws SQLException {
// ...
}
public List<Book> search(Book example) throws SQLException {
// ...
}
public List<Book> list() throws SQLException {
// ...
}
public List<Book> listByDate(Date before, Date after) throws SQLException {
// ...
}
public void save(Book book) throws SQLException {
// ...
}
public void delete(Book book) throws SQLException {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
在这个类中,您可以编写所有必需的JDBC样板.
最后,您最终以下列方式使用它:
Book newBook = new Book("Pro JPA 2", "Merrick Schincariol");
bookDAO.save(newBook);
// ...
Book book = bookDAO.find(1L);
// ...
List<Book> allBooks = bookDAO.list();
// ...
List<Book> matchingBooks = bookDAO.search(new Book(null, "Schincariol"));
// ...
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到包含基本启动示例的详细文章.
为了更进一步,您可能会发现JPA(Java Persistence API)很有趣.它在JDBC上添加了一个额外的层,以便您可以以更面向对象的方式与DB交互,而无需编写所有JDBC样板.确实,它是Java EE的一部分,但您也可以单独使用它.另请参阅本教程,了解如何在桌面/客户端应用程序中使用JPA
归档时间: |
|
查看次数: |
1278 次 |
最近记录: |