首页 基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第2部分)

基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第2部分)

举报
开通vip

基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第2部分)基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第2部分) 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上 银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第 2/2部分) 3、添加一个工厂类,用来统一创建AdminUserManageDAOInterface接口的对象实例 (1)AdminUserManageDAO...

基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第2部分)
基于Struts+Spring+JDBC架构的课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 实训教学示例项目——《网上银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第2部分) 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上 银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第 2/2部分) 3、添加一个工厂类,用来统一创建AdminUserManageDAOInterface接口的对象实例 (1)AdminUserManageDAOFactory类,包名称为com.px1987.webbank.factory,并且从java.util.Observable类继承 (2)编程该类 杨教授大学堂,版权所有,盗版必究。 1/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 package com.px1987.webbank.factory; import java.util.Observable; import com.px1987.webbank.config.ClassNameConfig; import com.px1987.webbank.dao.inter.AdminUserManageDAOInterface; import com.px1987.webbank.exception.WebBankException; public class AdminUserManageDAOFactory extends Observable { public AdminUserManageDAOFactory() { } public AdminUserManageDAOInterface newAdminManageDAOBean(String adminManageDAOJDBCImpleClassName) throws WebBankException { AdminUserManageDAOInterface adminUserManageDAOJDBCImple=null; Class oneClass=null; try { oneClass = Class.forName(adminManageDAOJDBCImpleClassName); } catch (ClassNotFoundException e) { int logImpleKind=Integer.parseInt(ClassNameConfig.getProperty("logImpleKind")); this.addObserver(LogInfoFactory.newLogInstance(logImpleKind)); this.setChanged(); //注意要设置变化点 notifyObservers(e); //当出现异常时将通知各个观察者 throw new WebBankException("不能正确地获得 杨教授大学堂,版权所有,盗版必究。 2/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 "+adminManageDAOJDBCImpleClassName+"类"); } try { adminUserManageDAOJDBCImple = (AdminUserManageDAOInterface)oneClass.newInstance(); } catch (InstantiationException e){ int logImpleKind= Integer.parseInt(ClassNameConfig.getProperty("logImpleKind")); this.addObserver(LogInfoFactory.newLogInstance(logImpleKind)); this.setChanged(); //注意要设置变化点 notifyObservers(e); //当出现异常时将通知各个观察者 throw new WebBankException("不能正确地创建 "+adminManageDAOJDBCImpleClassName+"类的对象实例"); } catch (IllegalAccessException e){ int logImpleKind= Integer.parseInt(ClassNameConfig.getProperty("logImpleKind")); this.addObserver(LogInfoFactory.newLogInstance(logImpleKind)); this.setChanged(); //注意要设置变化点 notifyObservers(e); //当出现异常时将通知各个观察者 throw new WebBankException("不能正确地创建 "+adminManageDAOJDBCImpleClassName+"类的对象实例"); } return adminUserManageDAOJDBCImple; } } 4、修改classNameConfig.xml配置文件以添加下面的项目 adminManageDAOJDBCImple.className 杨教授大学堂,版权所有,盗版必究。 3/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 com.px1987.webbank.dao.imple.AdminUserManageDAOJDBCImple 1.1.1 对AdminUserManageDAOJDBCImple类进行单元测试 1、添加测试用例 (1)添加测试用例 (2)设置类名称为TestAdminUserManageDAOJDBCImple、包名称为com.px1987.webbank.daotest,并对 com.px1987.webbank.dao.imple.AdminUserManageDAOJDBCImple类进行测试 杨教授大学堂,版权所有,盗版必究。 4/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 (3)选择各个被测试的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 2、编程该测试用例TestAdminUserManageDAOJDBCImple类 package com.px1987.webbank.daotest; import java.util.Date; import java.util.Iterator; import java.util.List; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; 杨教授大学堂,版权所有,盗版必究。 5/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 import com.px1987.webbank.config.ClassNameConfig; import com.px1987.webbank.dao.inter.AdminUserManageDAOInterface; import com.px1987.webbank.dao.inter.ConnectDBInterface; import com.px1987.webbank.dao.po.AdminUserInfoPO; import com.px1987.webbank.exception.WebBankException; import com.px1987.webbank.factory.AdminUserManageDAOFactory; import com.px1987.webbank.factory.GenerialFactory; import com.px1987.webbank.util.MD5JavaBean; public class TestAdminUserManageDAOJDBCImple { private AdminUserManageDAOInterface adminUserManageDAOJDBCImple = null; String adminManageDAOJDBCImpleClassName=null; @Before public void setUp() throws Exception { adminManageDAOJDBCImpleClassName= ClassNameConfig.getProperty("adminManageDAOJDBCImple.className"); // adminUserManageDAOJDBCImple=new AdminUserManageDAOFactory().newAdminManageDAOBean(adminManageDAOJDBCImpleClassName); adminUserManageDAOJDBCImple = (AdminUserManageDAOInterface)new GenerialFactory().newSomeOneInstance(adminManageDAOJDBCImpleClassName); } @After public void tearDown() throws Exception { adminUserManageDAOJDBCImple = null; } @Test public void testSelectOneAdminUserInfoData() throws WebBankException { String userName="admin"; String userPassWord=new MD5JavaBean().getkeyBeanofStr("admin"); AdminUserInfoPO returnOneAdminUserInfoPO= 杨教授大学堂,版权所有,盗版必究。 6/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 adminUserManageDAOJDBCImple.selectOneAdminUserInfoData(userName,userPassWord); Assert.assertNotNull(returnOneAdminUserInfoPO); //由于所给定的ID是数据 库 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中存在的一个用户,因此能够返回该对象 } @Test public void testSelectAllAdminUserInfo() throws WebBankException { List allAdminUserInfos=adminUserManageDAOJDBCImple.selectAllAdminUserInfo(); Assert.assertNotNull(allAdminUserInfos); Iterator allItem=allAdminUserInfos.iterator(); while(allItem.hasNext()){ AdminUserInfoPO oneAdminUserInfoPO=(AdminUserInfoPO)allItem.next(); Assert.assertNotNull(oneAdminUserInfoPO); String adminUserName=oneAdminUserInfoPO.getUserName(); Assert.assertNotNull(adminUserName); } } @Test public void testSelectAllAdminUserNameInfo() throws WebBankException { String userName="adm"; List returnAllAdminUserNameInfos= adminUserManageDAOJDBCImple.selectAllAdminUserNameInfo(userName); Assert.assertNotNull(returnAllAdminUserNameInfos); Iterator allAdminNameItem=returnAllAdminUserNameInfos.iterator(); while(allAdminNameItem.hasNext()){ String oneAdminUserName=(String)allAdminNameItem.next(); Assert.assertNotNull(oneAdminUserName); } } @Test 杨教授大学堂,版权所有,盗版必究。 7/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 public void testSelectOneAdminUserInfo() throws WebBankException{ //应该根据数据库表中的实际数据来决定 String adminUserID="402880681071d9f9011071d9fe770001"; AdminUserInfoPO returnOneAdminUserInfoPO= adminUserManageDAOJDBCImple.selectOneAdminUserInfo(adminUserID); //由于所给定的ID是数据库表中存在的一个用户,因此能够返回该对象 Assert.assertNotNull(returnOneAdminUserInfoPO); } @Test public void testSelectOneAdminUserInfoByName() throws WebBankException { //应该根据数据库表中的实际数据来决定 String userName="admin"; AdminUserInfoPO returnOneAdminUserInfoPO= adminUserManageDAOJDBCImple.selectOneAdminUserInfoByName(userName); //由于所给定的userName是数据库表中存在的一个用户,因此能够返回该对象 Assert.assertNotNull(returnOneAdminUserInfoPO); } @Test public void testSelectOneAdminUserInfoString() throws WebBankException { //应该根据数据库表中实际的数据值来决定 String userName="admin"; String passWordAsk="Who Are You?"; String passWordAnswer="zhang"; AdminUserInfoPO returnOneAdminUserInfoPO= adminUserManageDAOJDBCImple.selectOneAdminUserInfo(userName, passWordAsk, passWordAnswer); //由于所给定的userName是数据库表中存在的一个用户,因此能够返回该对象 Assert.assertNotNull(returnOneAdminUserInfoPO); } @Test 杨教授大学堂,版权所有,盗版必究。 8/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 public void testSelectSomeAdminUserInfo() throws WebBankException{ String HQLQuery="select * from AdminUserInfo"; List allAdminUserInfos= adminUserManageDAOJDBCImple.selectSomeAdminUserInfo(HQLQuery); Assert.assertNotNull(allAdminUserInfos); Iterator allIAdminUserInfoPOItem=allAdminUserInfos.iterator(); while(allIAdminUserInfoPOItem.hasNext()){ AdminUserInfoPO oneAdminUserInfoPO= (AdminUserInfoPO)allIAdminUserInfoPOItem.next(); Assert.assertNotNull(oneAdminUserInfoPO); String adminUserName=oneAdminUserInfoPO.getUserName(); Assert.assertNotNull(adminUserName); } } /* 下面的方法应该只执行一次 @Test public void testBatchDeleteAdminUserInfo() throws WebBankException{ List deletedUserIDs=new ArrayList(); //应该根据数据库表中的实际数据来决定 String userIDOne="517789136"; //String userIDTwo="-212445867"; //String userIDThree="-212415571"; deletedUserIDs.add(userIDOne); //deletedUserIDs.add(userIDTwo); //deletedUserIDs.add(userIDThree); boolean returnBoolean= adminUserManageDAOJDBCImple.batchDeleteAdminUserInfo(deletedUserIDs); Assert.assertTrue(returnBoolean); } @Test 杨教授大学堂,版权所有,盗版必究。 9/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 public void testDeleteOneAdminUserInfo() throws WebBankException{ //应该根据数据库表中的实际数据来决定 String adminUserID="517706074"; boolean returnBoolean= adminUserManageDAOJDBCImple.deleteOneAdminUserInfo(adminUserID); Assert.assertTrue(returnBoolean); } */ @Test public void testInsertOneAdminUserInfo() throws WebBankException{ AdminUserInfoPO oneAdminUserInfoPO=new AdminUserInfoPO(); Date nowDate=new Date(); //不需要设置该值,可以由Hibernate自动来实现添加 oneAdminUserInfoPO.setId(new Integer((int)nowDate.getTime()).toString()); oneAdminUserInfoPO.setUserName("张三"); oneAdminUserInfoPO.setUserPassWord(new MD5JavaBean().getkeyBeanofStr("1234")); oneAdminUserInfoPO.setUserType(1); oneAdminUserInfoPO.setAliaoName("网上张飞"); oneAdminUserInfoPO.setPassWordAsk("Who Are You?"); oneAdminUserInfoPO.setUserImage("../webResource/PersonImage/Chang.gif"); oneAdminUserInfoPO.setRegisterTime(new java.util.Date().toLocaleString()); oneAdminUserInfoPO.setPassWordAnswer("zhang"); oneAdminUserInfoPO.setUserMail("trainict@sohu.com"); oneAdminUserInfoPO.setUserSex(1); oneAdminUserInfoPO.setUserBirthDay("2007-01-25"); oneAdminUserInfoPO.setUserComeFrom("北京"); oneAdminUserInfoPO.setUserResume("我是网络飞人"); oneAdminUserInfoPO.setWorkUnit("中科院计算所"); oneAdminUserInfoPO.setStudyHistory("大学毕业"); 杨教授大学堂,版权所有,盗版必究。 10/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 oneAdminUserInfoPO.setStudySchool("XXX大学"); oneAdminUserInfoPO.setIdCardNo("12345678901234567"); oneAdminUserInfoPO.setConfirmDate("2007-01-25"); oneAdminUserInfoPO.setValidateFlag(true); boolean actualReturn= adminUserManageDAOJDBCImple.insertOneAdminUserInfo(oneAdminUserInfoPO); Assert.assertTrue(actualReturn); } @Test public void testUpdateOneAdminUserInfo() throws WebBankException{ //应该根据数据库表中的实际数据来决定 String adminUserID="402880681071d9f9011071d9fe7700011"; AdminUserInfoPO oneAdminUserInfoPO=new AdminUserInfoPO(); //不需要设置该值,可以由Hibernate自动来实现添加 oneAdminUserInfoPO.setId(adminUserID); oneAdminUserInfoPO.setUserName("张三"); //本测试项目改变为此数据项目 oneAdminUserInfoPO.setUserPassWord(new MD5JavaBean().getkeyBeanofStr("12345678")); oneAdminUserInfoPO.setUserType(1); oneAdminUserInfoPO.setAliaoName("网上张飞"); oneAdminUserInfoPO.setPassWordAsk("Who Are You?"); oneAdminUserInfoPO.setUserImage("../webResource/PersonImage/Chang.gif"); oneAdminUserInfoPO.setRegisterTime(new Date().toLocaleString()); oneAdminUserInfoPO.setPassWordAnswer("zhang"); oneAdminUserInfoPO.setUserMail("trainict@sohu.com"); oneAdminUserInfoPO.setUserSex(1); oneAdminUserInfoPO.setUserBirthDay("2007-01-25"); oneAdminUserInfoPO.setUserComeFrom("北京"); oneAdminUserInfoPO.setUserResume("我是网络飞人"); 杨教授大学堂,版权所有,盗版必究。 11/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 oneAdminUserInfoPO.setWorkUnit("中科院计算所"); oneAdminUserInfoPO.setStudyHistory("大学毕业"); oneAdminUserInfoPO.setStudySchool("XXX大学"); oneAdminUserInfoPO.setIdCardNo("12345678901234567"); boolean actualReturn= adminUserManageDAOJDBCImple.updateOneAdminUserInfo(oneAdminUserInfoPO); Assert.assertTrue(actualReturn); } @Test public void testUpdateOneAdminUserPassWord() throws WebBankException{ //应该根据数据库表中的实际的数据值来决定 String newPassWord=new MD5JavaBean().getkeyBeanofStr("1234"); String registerUserId="402880681071d9f9011071d9fe770001"; boolean actualReturn= adminUserManageDAOJDBCImple.updateOneAdminUserPassWord(newPassWord, registerUserId); Assert.assertTrue(actualReturn); } } 3、执行该测试用例TestAdminUserManageDAOJDBCImple类 (1)再数据库表中准备与测试有关的各种数据 (2)启动测试用例 杨教授大学堂,版权所有,盗版必究。 12/13页 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 (3)产生出下面的执行结果 杨教授大学堂,版权所有,盗版必究。 13/13页
本文档为【基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——后台系统管理员系统的DAO组件及测试(第2部分)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_751406
暂无简介~
格式:doc
大小:219KB
软件:Word
页数:0
分类:互联网
上传时间:2017-10-26
浏览量:5