版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、廣州柏道科技 BAP for Java 使用手冊 目錄1建立映射文件和實(shí)體21.1映射文件21.2實(shí)體32編寫服務(wù)接口43編寫測試用例54編寫服務(wù)實(shí)現(xiàn)類75配置spring86測試接口86.1修改配置路徑86.2執(zhí)行測試97編寫action控制器組件98配置xwork聲明頁面跳轉(zhuǎn)119Jsp頁面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 編寫測試用例在src的目錄下面建立包“項(xiàng)目名.test”本例子為“demo.test”,建立測試。然后在包下面建立測試類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;/* * 測試的時(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ù)庫表public void test00CreateDatabaseSchema() LocalSessionFactoryBean sf = (LocalSessionFactoryBean) context.getBean("sessionFactory");sf.updateDatabaseSchema(); /針對IUserHandler進(jìn)行的測試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 測試接口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)行測試用例時(shí)-></list></property>開啟測試用例配置。6.2 執(zhí)行測試依次執(zhí)行demo.test. UserTest的test00Crea
21、teDatabaseSchema()和test01MyUser()。測試通過證明服務(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聲明頁面跳轉(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īng)xwork-user.xml的配置,在WebRoot下面建立4個(gè)頁面文件。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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國麻醉機(jī)行業(yè)發(fā)展?fàn)顩r及投資前景規(guī)劃研究報(bào)告
- 2025-2030年中國隱形紗窗行業(yè)競爭格局及未來發(fā)展趨勢分析報(bào)告
- 2025-2030年中國防爆電機(jī)產(chǎn)業(yè)競爭格局及發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025-2030年中國鋅空電池行業(yè)市場現(xiàn)狀規(guī)模及發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025-2030年中國鑄造扣件市場發(fā)展現(xiàn)狀及營銷策略分析報(bào)告
- 2025-2030年中國金屬銦行業(yè)發(fā)展?fàn)顩r及投資前景研究報(bào)告
- 2025年度項(xiàng)目經(jīng)理部勞動(dòng)合同范本(含員工離職手續(xù)及注意事項(xiàng))3篇
- 云母汽車內(nèi)飾材料的研究考核試卷
- 刺繡圖案寓意解讀考核試卷
- 保健食品跨境電商市場環(huán)境分析考核試卷
- 2024年08月云南省農(nóng)村信用社秋季校園招考750名工作人員筆試歷年參考題庫附帶答案詳解
- 防詐騙安全知識(shí)培訓(xùn)課件
- 心肺復(fù)蘇課件2024
- 2024年股東股權(quán)繼承轉(zhuǎn)讓協(xié)議3篇
- 2024-2025學(xué)年江蘇省南京市高二上冊期末數(shù)學(xué)檢測試卷(含解析)
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識(shí)
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- 農(nóng)產(chǎn)品收購臺(tái)賬(登記經(jīng)營單位及個(gè)體經(jīng)營者投售的農(nóng)產(chǎn)品
- 分紅保險(xiǎn)精算規(guī)定
- Proud-of-you中英文歌詞
- 基因的表達(dá)與調(diào)控.ppt
評論
0/150
提交評論