目录
15.1.1 引言
Java是面向对象编程语言,主要操作对象,而关系数据库的数据并不是对象,Java程序插入和检索数据并不方便。因此,访问数据库的一个好方法是是使用一个单独模块管理数据库连接以及构建SQL语句。数据访问对象(data access object,DAO)模式使应用程序访问数据的一种方法。
DAO模式有很多变体,这里介绍一种比较简单的形式。首先,定义一个DAO接口,它负责建立数据库连接;然后,为每种实体的持久化操作定义一个接口,如ProductDao接口负责Product对象的持久化;最后,定义实现类。
如图15-5给出Dao接口与ProductDao接口与OrderDao接口的关系。
图15-5 Dao接口及其子接口
在DAO模式中,通常要为需要持久存储的每种实体类型编写一个相应的类。如要存储Product信息就需要编写一个类。实现类应该提供添加,删除,修改,检索,查找等功能。例如,ProductDao接口需要支持以下方法。
public void addProduct(Product product)
public void updateProduct(Product product)
public void deleteProduct(int productId)
public Product getProduct(int productId)
public ArrayList<Product> getAllProduct()
在Dao实现类中,可以直接编写SQL操作数据库,也可以使用像Hibernate这样的Java持久API实现。这里,使用SQL语句。
下面定义实体类Product,该类对象用来存放商品信息,与products表的记录对应,代码如下
实体类Product.java
package com.entity;
public class Product {
private int id;
private String pname;
private String brand;
private double price;
private int stock;
public Product() {
super();
}
public Product(int id, String pname, String brand, double price, int stock) {
this.id = id;
this.pname = pname;
this.brand = brand;
this.price = price;
this.stock = stock;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPname() {
return pname;
}
public void set