开发Spring MVC应用程序(4-2)

博客介绍了创建TestProductManagerDaoJdbc类对DAO进行单元测试,在setUp()方法中创建DataSource用于测试。还提到修改Web应用程序,仅修改业务类ProductManager来使用数据库持久,通过ProductManagerDao接口引用及setter方法,在Bean配置中设置引用,用DAO方法实现数据库持久。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

l         最后创建TestProductManagerDaoJdbc类对DAO进行单元测试

package tests;
 
import java.util.List;
import junit.framework.TestCase;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import db.ProductManagerDaoJdbc;
import bus.Product;
 
public class TestProductManagerDaoJdbc extends TestCase {
 
    private ProductManagerDaoJdbc pmdao;
 
    public void setUp() {
        pmdao = new ProductManagerDaoJdbc();
        DriverManagerDataSource ds = new DriverManagerDataSource();
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost/test");
        ds.setUsername("test");
        ds.setPassword("test");
        pmdao.setDataSource(ds);
    }
 
    public void testGetProductList() {
        List l = pmdao.getProductList();
        Product p1 = (Product) l.get(0);
        assertEquals("Lamp", p1.getDescription());
        Product p2 = (Product) l.get(1);
        assertEquals("Table", p2.getDescription());
    }
 
    public void testIncreasePrice() {
        List l1 = pmdao.getProductList();
        Product p1 = (Product) l1.get(0);
        assertEquals(new Double("5.78"), p1.getPrice());
        pmdao.increasePrice(p1, 10);
        List l2 = pmdao.getProductList();
        Product p2 = (Product) l2.get(0);
        assertEquals(new Double("6.36"), p2.getPrice());
    }
 
}

l         setUp()方法中创建DataSource用于测试

25)修改Web应用程序来使用数据库持久

l         我们只需要修改业务类ProductManager来使用数据库持久,而不需要修改视图和控制器部分的代码

package bus;
 
import java.io.Serializable;
import java.util.ListIterator;
import java.util.List;
import db.ProductManagerDao;
 
public class ProductManager implements Serializable {
 
    private ProductManagerDao pmd;
    private List products;
 
    public void setProductManagerDao(ProductManagerDao pmd) {
        this.pmd = pmd;
    }
/*
    public void setProducts(List p) {
        products = p;
    }
*/
    public List getProducts() {
        products = pmd.getProductList();
        return products;
    }
 
    public void increasePrice(int pct) {
        ListIterator li = products.listIterator();
        while (li.hasNext()) {
            Product p = (Product) li.next();
/*
            double newPrice = p.getPrice().doubleValue() * (100 + pct)/100;
            p.setPrice(new Double(newPrice));
*/            
            pmd.increasePrice(p, pct);
        }
        
    }
 
}

l         这里需要一个ProductManagerDao接口的引用和它的setter方法,该引用会在Bean配置中设置

l         这样,在ProductManager类中,使用DAO的方法来实现数据库持久

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值