jdbc简易泛型dao(八)
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "书名: " + name + " 图书编号: " + isbn + " 作者: " + author
+ " 出版社: " + publishing + " 出版时间: " + pubdate
+ " 价格: " + price;
}
}
6、使用Junit4进行单元测试
[java]
package xml;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import model.Book;
import org.junit.BeforeClass;
import org.junit.Test;
import util.DateUtils;
import dao.GenericDao;
import dao.JdbcGenericDaoImpl;
/**
* 测试泛型DAO的CRUD操作
*/
public class GenericDaoTest {
private GenericDao bookDao = new JdbcGenericDaoImpl();
private static InputStream is;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
is = XmlParserTest.class.getResourceAsStream("/books.xml");
}
@Test
public void testSave() throws Exception {
List books = SaxHelper.saxReader(is);
for (Book book : books) {
bookDao.save(book);
}
}
@Test
public void testStudentFindAll1() throws Exception {
System.out.println("\n-------------更新、删除前,测试查询所有记录--------------------");
List books = bookDao.findAllByConditions(null, Book.class);
for (Book book : books) {
System.out.println(book);
}
}
@Test
public void testDelete() throws Exception {
System.out.println("\n-------------测试删除一条记录--------------------");
bookDao.delete("9787111349662",Book.class);
}
@Test
public void testGet() throws Exception {
System.out.println("\n-------------测试查询一条记录--------------------");
Book book = bookDao.get("9787121025389", Book.class);
System.out.println(book);
} www.2cto.com
@Test
public void testUpdate() throws Exception {
System.out.println("\n-------------测试修改一条记录--------------------");
Book book = new Book();
book.setIsbn("9787121025389");
book.setName("JAVA面向对象
编程");
book.setAuthor("孙卫琴");
book.setPublishing("电子工业出版社");
book.setPubdate(DateUtils.string2Date("yyyy-MM-dd", "2006-07-01"));
book.setPrice(50.6);
bookDao.update(book);
}
@Test
public void testStudentFindAll2() throws Exception {
System.out.println("\n-------------更新、删除前,测试根据条件查询所有记录--------------------");
Map sqlWhereMap = new HashMap();
//sqlWhereMap.put("t_isbn", "9787111213826");
//sqlWhereMap.put("t_name", "
Java");
sqlWhereMap.put("t_publishing", "机械工业出版社");
//sqlWhereMap.put("t_pubdate", new Date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2007-01-01 12:06:00").getTime()));
List books = bookDao.findAllByConditions(null, Book.class);
for (Book book : books) {
System.out.println(book);
}
}
}
7、测试结果
说明:该代码是早期的版本,功能比较简单,代码写得也比较笨拙,还有待优化,但是思路是