BAPforJava使用手冊(cè)_第1頁(yè)
BAPforJava使用手冊(cè)_第2頁(yè)
BAPforJava使用手冊(cè)_第3頁(yè)
BAPforJava使用手冊(cè)_第4頁(yè)
BAPforJava使用手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、廣州柏道科技 BAP for Java 使用手冊(cè) 目錄1建立映射文件和實(shí)體21.1映射文件21.2實(shí)體32編寫服務(wù)接口43編寫測(cè)試用例54編寫服務(wù)實(shí)現(xiàn)類75配置spring86測(cè)試接口86.1修改配置路徑86.2執(zhí)行測(cè)試97編寫action控制器組件98配置xwork聲明頁(yè)面跳轉(zhuǎn)119Jsp頁(yè)面1210運(yùn)行1510.1修改配置路徑1510.2啟動(dòng)151 建立映射文件和實(shí)體1.1 映射文件,映射文件以大寫開頭+實(shí)體名。<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-/Hiberna

2、te/Hibernate Mapping DTD 3.0/EN"et/hibernate-mapping-3.0.dtd"><!- Mapping file autogenerated by MyEclipse - Hibernate Tools-><hibernate-mapping><joined-subclass extends="ba.support.data.TUser" name="demo.data.TMyUser" table="frd_User" > &l

3、t;key column="ID" /> <property name="biz" type="string"> <column name="Biz" length="10"/> </property> <property name="qq" type="string"> <column name="QQ" length="20"/> </pro

4、perty> <property name="msn" type="string"> <column name="MSN" length="30"/> </property> </joined-subclass></hibernate-mapping>1.2 實(shí)體在src的目錄下面建立包“項(xiàng)目名.data”本例子為“demo.data”,然后在包下面建立實(shí)體類TMyUser.java。先寫好屬性,屬性必須是public類型的 且只能是string,d

5、ate,int,float等類型,不能是其他的類型。除了字段由手工填寫外,函數(shù)全部都由eclipse自動(dòng)生成。實(shí)體類以大寫開頭+實(shí)體名。package demo.data;import ba.support.data.TUser;SuppressWarnings("serial")public class TMyUser extends TUser /* * 以下定義的屬性必須是public類型的 且只能是string,date,int,float等類型 不能是其他的類型 */public String biz = ""public String qq

6、= ""public String msn = ""/* * 以下通過eclipse自動(dòng)生成 */public TMyUser() public TMyUser(String code, String password) super(code, password);public String getBiz() return biz;public void setBiz(String biz) = biz;public String getMsn() return msn;public void setMsn(String msn) th

7、is.msn = msn;public String getQq() return qq;public void setQq(String qq) this.qq = qq;2 編寫服務(wù)接口在src的目錄下面建立包“項(xiàng)目名.service”本例子為“demo.service”,然后在包下面建立接口IUserHandler.java。服務(wù)接口以大寫開頭。package demo.service;import java.util.List;import demo.data.TMyUser;public interface IUserHandler /添加用戶public void add(TMyU

8、ser user);/刪除用戶public void delete (String id);/查找所有用戶public List<TMyUser> loadAll ();/通過用戶查找用戶信息public TMyUser loadById(String id);3 編寫測(cè)試用例在src的目錄下面建立包“項(xiàng)目名.test”本例子為“demo.test”,建立測(cè)試。然后在包下面建立測(cè)試類UserTest.java。package demo.test;import mons.logging.Log;import mons.logging.LogFactory;import org.apa

9、che.log4j.PropertyConfigurator;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;import org.springframework.orm.hibernate.LocalSessionFactoryBean;import demo.data.TMyUser;import demo.service.IUserHandler;import ba.util.se

10、rvice.DAO;import junit.framework.Assert;import junit.framework.TestCase;/* * 測(cè)試的時(shí)候要把daoContext.xml里的映射文件的位置重新指定 * 修改方法查看該文件的注釋 */public class UserTest extends TestCase static final Log logger = (Log) LogFactory.getLog(UserTest.class);private ApplicationContext context;/初始化spring容器protected void setU

11、p() throws Exception super.setUp();PropertyConfigurator.configure("src/perties");context = new FileSystemXmlApplicationContext(new String "WebRoot/WEB-INF/config/daoContext.xml","WebRoot/WEB-INF/config/serviceContext.xml","WebRoot/WEB-INF/config/supportCon

12、text.xml" );protected void tearDown() throws Exception super.tearDown();/利用hibernate建立數(shù)據(jù)庫(kù)表public void test00CreateDatabaseSchema() LocalSessionFactoryBean sf = (LocalSessionFactoryBean) context.getBean("sessionFactory");sf.updateDatabaseSchema(); /針對(duì)IUserHandler進(jìn)行的測(cè)試public void test01

13、MyUser()IUserHandler serviceUser= (IUserHandler) context.getBean("serviceUser"); DAO<TMyUser> daoUser=(DAO<TMyUser>) context.getBean("daoMyUser"); daoUser.deleteAll(); TMyUser user1=new TMyUser(); ="張三" user1.qq="123456" user1.msn="6

14、54321" user1.code="1" user1.password="1" ="IT" serviceUser.add(user1); TMyUser user2=new TMyUser(); ="李四" user2.qq="123456" user2.msn="654321" user2.code="2" user2.password="2" ="IT&

15、quot; serviceUser.add(user2); this.assertEquals(2, serviceUser.loadAll().size(); serviceUser.delete(user2.id); this.assertEquals(1, serviceUser.loadAll().size(); this.assertEquals("張三",serviceUser.loadById(user1.id).name);4 編寫服務(wù)實(shí)現(xiàn)類在src的目錄下面建立包“項(xiàng)目名.service.impl”本例子為“demo.service.impl”,然后在包下

16、面建立接口UserHandler.java。package demo.service.impl;import java.util.List;import ba.util.service.DAO;import demo.data.TMyUser;import demo.service.IUserHandler;public class UserHandle implements IUserHandler private DAO<TMyUser> daoMyUser;public void add(TMyUser user) daoMyUser.save(user);public vo

17、id delete(String id) daoMyUser.delete(id);public List<TMyUser> loadAll() return daoMyUser.loadAll();public TMyUser loadById(String id) return daoMyUser.loadByID(id);public void setDaoMyUser(DAO<TMyUser> daoMyUser) this.daoMyUser = daoMyUser;5 配置springId命名規(guī)則:類別(小寫)+名稱(首字母大寫) 例如: daoUser s

18、erviceUser在項(xiàng)目目錄下的WebRoot/WEB-INF/ config下配置daoContext.xml,加入以下節(jié)點(diǎn)配置<bean id="daoMyUser" class="ba.util.service.DAO" singleton="true" ><constructor-arg><value></value></constructor-arg></bean>配置serviceContext.xml,加入以下節(jié)點(diǎn)配置。<bean id=&q

19、uot;serviceUser" singleton="true" parent="baseTxService"><property name="target"><bean class="demo.service.impl.UserHandle"></bean></property></bean>6 測(cè)試接口6.1 修改配置路徑在項(xiàng)目目錄下的WebRoot/WEB-INF/ config下配置daoContext.xml。<prope

20、rty name="mappingDirectoryLocations"><list><!- <value>/WEB-INF/HbmFiles</value> -> <!- 該選項(xiàng)用于運(yùn)行的時(shí)候 -> <value>WebRoot/WEB-INF/HbmFiles</value> <!-該選項(xiàng)用于運(yùn)行測(cè)試用例時(shí)-></list></property>開啟測(cè)試用例配置。6.2 執(zhí)行測(cè)試依次執(zhí)行demo.test. UserTest的test00Crea

21、teDatabaseSchema()和test01MyUser()。測(cè)試通過證明服務(wù)類編寫正確。7 編寫action控制器組件在src的目錄下面建立包“項(xiàng)目名.web”本例子為“demo.web”,然后在包下面建立接口UserFacade.java。package demo.web;import java.util.ArrayList;import java.util.List;import java.util.Map;import com.opensymphony.xwork.ActionContext;import demo.core.BaseAction;import demo.data

22、.TMyUser;import demo.service.IUserHandler;public class UserFacade extends BaseAction /服務(wù)類,名稱和spring配置中的ID一致 private IUserHandler serviceUser; private List<TMyUser> list; private TMyUser user; public TMyUser getUser() return user;public void setUser(TMyUser user) this.user = user;public void se

23、tServiceUser(IUserHandler serviceUser) this.serviceUser = serviceUser;public List<TMyUser> getList() return list;public void setList(List<TMyUser> list) this.list = list;public String execute()list =new ArrayList<TMyUser>();list=serviceUser.loadAll();return SUCCESS;/添加用戶public Stri

24、ng addNew() throws Exception user=new TMyUser();return INPUT;/查找單個(gè)用戶SuppressWarnings("unchecked")public String load() throws Exception String id = getStringValue("id");user=serviceUser.loadById(id);return INPUT;/保存用戶public String save() throws Exception user.code=; user.

25、password="11"serviceUser.add(user);return SUCCESS;/刪除用戶public String delete() throws Exception String ids = (String) ActionContext.getContext().getParameters().get("id");for(String id:ids)serviceUser.delete(id);return SUCCESS;8 配置xwork聲明頁(yè)面跳轉(zhuǎn)在src下面建立xwork-user.xml。<!DOCTYPE xwo

26、rk PUBLIC "-/OpenSymphony Group/XWork /EN" "<xwork> <package name="demo" extends="default" namespace="/demo"> <!-用戶列表-> <action name="listUser" class="demo.web.UserFacade"> <result>listAll.jsp</result&g

27、t; </action><!-添加用戶-> <action name="newUser" class="demo.web.UserFacade" method="addNew"> <result name="input" type="freemarker" > <param name="location">newUser.ftl</param> <param name="contentTy

28、pe">text/html;charset=utf-8</param> </result> </action><!-修改用戶信息-> <action name="editUser" class="demo.web.UserFacade" method="load"> <result name="input">editUser.jsp</result> </action> <!-保存用戶-> &

29、lt;action name="saveUser" class="demo.web.UserFacade" method="save"> <result name="error">edituser.jsp</result> <result name="success">success.jsp</result> </action> <!-刪除用戶-> <action name="deleteUser&qu

30、ot; class="demo.web.UserFacade" method="delete"> <result name="success">success.jsp</result> </action> </package> </xwork>9 Jsp頁(yè)面對(duì)應(yīng)xwork-user.xml的配置,在WebRoot下面建立4個(gè)頁(yè)面文件。newUser.ftl<html><head> <title>New Person</title

31、></head><body><ww.form action="saveUser"> <ww.textfield label="姓名" name=""/> <ww.textfield label="qq" name="user.qq"/> <ww.textfield label="msn" name="user.msn"/> <ww.submit value

32、="新增用戶"/></ww.form><ul> <li><a href="listUser.action">列表</a></li></ul></body></html>listAll.jsp<% taglib prefix="ec" uri="/WEB-INF/extremecomponents.tld" %><% page language="java" page

33、Encoding="utf-8"%><html><head><title>社區(qū)通信錄</title><script type="text/javascript" src="xmlextras.js"></script><link href="./css/extremetable.css" rel="stylesheet" type="text/css" /> </head>&

34、lt;body style="margin:25px;"><br><ec:table items="list"var="user"action="$pageContext.request.contextPath/demo/listUser.action"imagePath="$pageContext.request.contextPath/images/table/*.gif"title="該社區(qū)的成員:"width="100%"r

35、owsDisplayed="5"><ec:row><ec:column property="name" title="姓名"/> <ec:column property="biz" title="行業(yè)"/><ec:column property="msn" title="msn"/><ec:column property="qq" title="qq"/&g

36、t;<ec:column property="qq" title="操作"><a href="./deleteUser.action?id=$user.id">刪除</a></ec:column><ec:column property="qq" title="操作"><a href="./editUser.action?id=$user.id">修改</a></ec:column>

37、</ec:row></ec:table><br> <a href="newUser.action">新增 </a></body></html>editUser.jsp<% page language="java" pageEncoding="utf-8"%><% taglib prefix="ww" uri="webwork"%><html><head><me

38、ta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>維護(hù)候選者</title></head><body><ww:form action="saveUser" method="post"><ww:hidden name="user.id" value="%user.id"/><ww:textfield label="*姓名" name="" /

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論