




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新建工程Flower(用MyBatis连接数据库)1.准备工作:将所用到的.jar包(包括mysql-connector-java-5.1.13-bin.jar,mybatis-3.0.4.jar,mybatis-3.0.4-sources.jar)打包成用户自定义库,在Flower中引用。将下载的axis2-1.5.4-war.zip包解压,取出axis2.war包拷贝到apache-tomcat-6.0.26webapps中,登录http:/localhost:8080/axis2,点击Administration,输入帐号admin,密码axis2可进入,点击Upload Service,将打包的.aar文件上传。文件布局如下图所示:2.service端设计(1).编写MyBatis的配置(src/Configuration.xml): !- (2).编写服务类的父类(src/service/BaseMybatisDao.java):package service;import java.io.Reader;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class BaseMybatisDao protected static SqlSessionFactory sessionFactory; static tryReader reader = Resources.getResourceAsReader(Configuration.xml);sessionFactory = new SqlSessionFactoryBuilder().build(reader);catch(Exception e)e.printStackTrace(); (3).编写服务端代码(src/service/student/StudentService.java):package service.student;import java.text.SimpleDateFormat;import java.util.Iterator;import java.util.List;import org.apache.axiom.om.OMAbstractFactory;import org.apache.axiom.om.OMElement;import org.apache.axiom.om.OMFactory;import org.apache.axiom.om.OMNamespace;import org.apache.ibatis.session.SqlSession;import service.BaseMybatisDao;import service.student.bean.StudentBean;public class StudentService extends BaseMybatisDaoprivate static SqlSession session;StudentBean student;SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd);/新增一条记录public void studentAdd(OMElement in)OMElement elem = in.getFirstElement();Iterator it = elem.getChildElements();OMElement ome;String sid = ;String sname = ;String ssex = ;String sbirthday = ;String saddress = ;while(it.hasNext()ome = (OMElement)it.next();if(ome.getLocalName()=sid)sid = ome.getText();else if(ome.getLocalName()=sname)sname = ome.getText();else if(ome.getLocalName()=ssex)ssex = ome.getText();else if(ome.getLocalName()=sbirthday)sbirthday = ome.getText();else if(ome.getLocalName()=saddress)saddress = ome.getText(); student = new StudentBean(); student.setSid(Integer.parseInt(sid); student.setSname(sname); student.setSsex(ssex); try student.setSbirthday(sdf.parse(sbirthday); catch(Exception e) e.printStackTrace(); student.setSaddress(saddress); session = sessionFactory.openSession(); session.insert(student.sinsert, student); mit(); session.close();/修改历史记录public void studentEdit(OMElement in)OMElement elem = in.getFirstElement();Iterator it = elem.getChildElements();OMElement ome;String sid = ;String sname = ;String ssex = ;String sbirthday = ;String saddress = ;while(it.hasNext()ome = (OMElement)it.next();if(ome.getLocalName()=sid)sid = ome.getText();else if(ome.getLocalName()=sname)sname = ome.getText();else if(ome.getLocalName()=ssex)ssex = ome.getText();else if(ome.getLocalName()=sbirthday)sbirthday = ome.getText();else if(ome.getLocalName()=saddress)saddress = ome.getText(); student = new StudentBean(); student.setSid(Integer.parseInt(sid); student.setSname(sname); student.setSsex(ssex); try student.setSbirthday(sdf.parse(sbirthday); catch(Exception e) e.printStackTrace(); student.setSaddress(saddress); session = sessionFactory.openSession(); session.update(student.sedit, student); mit(); session.close();/删除无效的记录public void studentDel(OMElement in)Integer sid = Integer.parseInt(in.getText();session = sessionFactory.openSession();session.delete(student.sdel, sid);mit();session.close();/根据条件查询符合条件的记录public OMElement studentQuery(OMElement in)Integer sid = Integer.parseInt(in.getText();OMFactory fac = OMAbstractFactory.getOMFactory();OMNamespace omNs = fac.createOMNamespace(/, student);OMElement element = fac.createOMElement(studentQuery, omNs);session = sessionFactory.openSession();List list = session.selectList(student.sselect,sid);OMElement item; OMElement id; OMElement name; OMElement sex; OMElement birthday; OMElement address; StudentBean bean; for(int i=0;ilist.size();i+) bean = new StudentBean(); bean = (StudentBean)list.get(i); item = fac.createOMElement(item, omNs);element.addChild(item);id = fac.createOMElement(id, omNs);id.setText(bean.getSid().toString();item.addChild(id);name = fac.createOMElement(name, omNs);name.setText(bean.getSname();item.addChild(name);sex = fac.createOMElement(sex, omNs);sex.setText(bean.getSsex();item.addChild(sex);birthday = fac.createOMElement(birthday, omNs);birthday.setText(bean.getSbirthday().toString();item.addChild(birthday);address = fac.createOMElement(address, omNs);address.setText(bean.getSaddress();item.addChild(address); session.close();return element;/选择全部数据public OMElement studentList(OMElement in)OMFactory fac = OMAbstractFactory.getOMFactory();OMNamespace omNs = fac.createOMNamespace(/, student);OMElement element = fac.createOMElement(studentInfo, omNs);session = sessionFactory.openSession();List list = session.selectList(student.sellist);OMElement item; OMElement id; OMElement name; OMElement sex; OMElement birthday; OMElement address; StudentBean bean; for(int i=0;ilist.size();i+) bean = new StudentBean(); bean = (StudentBean)list.get(i); item = fac.createOMElement(item, omNs);element.addChild(item);id = fac.createOMElement(id, omNs);id.setText(bean.getSid().toString();item.addChild(id);name = fac.createOMElement(name, omNs);name.setText(bean.getSname();item.addChild(name);sex = fac.createOMElement(sex, omNs);sex.setText(bean.getSsex();item.addChild(sex);birthday = fac.createOMElement(birthday, omNs);birthday.setText(bean.getSbirthday().toString();item.addChild(birthday);address = fac.createOMElement(address, omNs);address.setText(bean.getSaddress();item.addChild(address); session.close();return element;(4).构建Bean类(src/service/student/bean/StudentBean.java)代码:package service.student.bean;import java.util.Date;public class StudentBean private Integer sid;private String sname;private String ssex;private Date sbirthday;private String saddress;public Integer getSid() return sid;public void setSid(Integer sid) this.sid = sid;public String getSname() return sname;public void setSname(String sname) this.sname = sname;public String getSsex() return ssex;public void setSsex(String ssex) this.ssex = ssex;public Date getSbirthday() return sbirthday;public void setSbirthday(Date sbirthday) this.sbirthday = sbirthday;public String getSaddress() return saddress;public void setSaddress(String saddress) this.saddress = saddress;(5).构建MyBatis映射(src/service/student/mapper/StudentMapper.xml): (6).配置services.xml,即在WebRoot/META-INF/services.xml This is a sample Flower Web Service. service.flower.FlowerService This is a sample Student Web Service. service.student.StudentService 这个文件中包括两个服务,用可以实现。其中service.StudentService,service是包名,StudentService是编绎成.class的类文件。studentAdd,studentEdit,studentDel,studentQuery,studentList为类中的方法名。RawXMLINOnlyMessageReceiver是只传入参数而不返回数据,RawXMLINOutMessageReceiver是传入同时返回参数,默认为后者。(7).在项目中的build中新建文件example,将META-INF/services.xml(连包META-INF一起拷贝),build/classes包中的service整个包与Configuration.xml拷贝到example内。打开Dos命令窗口,用cd 退出当前路径,(换盘符用f:),用cd 文件名Flowerbuild,将example内的文件打包成.aar格式,jar cvf TestService.aar . 注意一定要有后面这个点。文件结构图如下所示(在example下的文件):最后将Flower/build/classes中的service包和Configuration.xml拷贝到%tomcat6%webapps/axis2/WEB-INF/classes,即上图中的service包和Configuration.xml。文件组织图如下所示:(8).将这个包发布到Tomcat上,即上传。3.client端设计(1). 新增一条记录(src/client/student/StudentAdd.java):package client.student;import org.apache.axiom.om.OMAbstractFactory;import org.apache.axiom.om.OMElement;import org.apache.axiom.om.OMFactory;import org.apache.axiom.om.OMNamespace;import org.apache.axis2.addressing.EndpointReference;import org.apache.axis2.client.Options;import org.apache.axis2.client.ServiceClient;public class StudentAdd private static EndpointReference targetEPR = new EndpointReference(http:/localhost:8080/axis2/services/StudentService);public static OMElement getMessageOMElement() OMFactory fac = OMAbstractFactory.getOMFactory();OMNamespace omNs = fac.createOMNamespace(/,student);OMElement method = fac.createOMElement(studentAdd, omNs);OMElement item = fac.createOMElement(item, omNs); OMElement id = fac.createOMElement(sid, omNs); id.setText(5); item.addChild(id); OMElement name = fac.createOMElement(sname, omNs); name.setText(苏有朋); item.addChild(name); OMElement sex = fac.createOMElement(ssex, omNs); sex.setText(男); item.addChild(sex); OMElement birthday = fac.createOMElement(sbirthday, omNs); birthday.setText(1985-06-23); item.addChild(birthday); OMElement address = fac.createOMElement(saddress, omNs); address.setText(香港); item.addChild(address); method.addChild(item);return method;public static void main(String args) try Options options = new Options();options.setTo(targetEPR);ServiceClient sender = new ServiceClient();sender.setOptions(options);OMElement bean = StudentAdd.getMessageOMElement();sender.fireAndForget(bean); catch (Exception axisFault) axisFault.printStackTrace();(2). 修改一条历史记录(src/client/student/StudentEdit.java):package client.student;import org.apache.axiom.om.OMAbstractFactory;import org.apache.axiom.om.OMElement;import org.apache.axiom.om.OMFactory;import org.apache.axiom.om.OMNamespace;import org.apache.axis2.addressing.EndpointReference;import org.apache.axis2.client.Options;import org.apache.axis2.client.ServiceClient;public class StudentEdit private static EndpointReference targetEPR = new EndpointReference(http:/localhost:8080/axis2/services/StudentService);public static OMElement getMessageOMElement() OMFactory fac = OMAbstractFactory.getOMFactory();OMNamespace omNs = fac.createOMNamespace(/,student);OMElement method = fac.createOMElement(studentEdit, omNs);OMElement item = fac.createOMElement(item, omNs); OMElement id = fac.createOMElement(sid, omNs); id.setText(4); item.addChild(id); OMElement name = fac.createOMElement(sname, omNs); name.setText(韩雪); item.addChild(name); OMElement sex = fac.createOMElement(ssex, omNs); sex.setText(女); item.addChild(sex); OMElement birthday = fac.createOMElement(sbirthday, omNs); birthday.setText(1986-04-27); item.addChild(birthday); OMElement address = fac.createOMElement(saddress, omNs); address.setText(香港); item.addChild(address); method.addChild(item);return method;public static void main(String args) try Options options = new Options();options.setTo(targetEPR);ServiceClient sender = new ServiceClient();sender.setOptions(options);OMElement bean = StudentEdit.getMessageOMElement();sender.fireAndForget(bean); catch (Exception axisFault) axisFault.printStackTrace();(3). 删除无效记录(src/client/student/StudentDel.java):package client.student;import org.apache.axiom.om.OMAbstractFactory;import org.apache.axiom.om.OMElement;import org.apache.axiom.om.OMFactory;import org.apache.axiom.om.OMNamespace;import org.apache.axis2.addressing.EndpointReference;import org.apache.axis2.client.Options;import org.apache.axis2.client.ServiceClient;public class StudentDel private static EndpointReference targetEPR = new EndpointReference(http:/localhost:8080/axis2/services/StudentService);public static OMElement getMessageOMElement() OMFactory fac = OMAbstractFactory.getOMFactory();OMNamespace omNs = fac.createOMNamespace(/,student);OMElement method = fac.createOMElement(studentDel, omNs); method.setText(5);return method;public static void main(String args) try Options options = new Options();options.setTo(targetEPR);ServiceClient sender = new ServiceClient();sender.setOptions(options);OMElement bean = StudentDel.getMessageOMElement();sender.fireAndForget(bean); catch (Exception axisFault) axisFault.printStackTrace();(4). 选择全部记录(src/client/student/StudentList.java):package client.student;import org.apache.axiom.om.OMAbstractFactory;import org.apache.axiom.om.OMElement;import org.apache.axiom.om.OMFactory;import org.apache.axiom.om.OMNamespace;import org.apache.axis2.addressing.EndpointReference;import org.apache.axis2.client.Options;import org.apache.axis2.client.ServiceClient;public class Stuentlist private static Endpoint
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏苏州国家历史文化名城保护区、苏州市姑苏区区属国资集团副总裁招聘2人模拟试卷附答案详解(黄金题型)
- 2025年西电集团医院招聘(57人)模拟试卷有答案详解
- 安全培训教师总结课件
- 安全培训教室器材课件
- 2025第十三届贵州人才博览会贵阳幼儿师范高等专科学校引进高层次及急需紧缺人才模拟试卷及答案详解(各地真题)
- 广播稿写作培训课件
- 2025吉林农业大学招聘高层次人才7人模拟试卷有完整答案详解
- 2025江苏省检察官学院招聘高层次人才1人考前自测高频考点模拟试题及完整答案详解
- Idebenone-13C-d3-生命科学试剂-MCE
- Human-XCR1-mRNA-生命科学试剂-MCE
- 第2课《中国人首次进入自己的空间站》课件
- 网络工程师的网络取证与证据收集试题及答案
- T/CACM 1552-2023中医慢性非传染性疾病管理技术通则
- 《家具设计》课件
- 国有融资担保公司笔试真题解析
- 提高VTE护理措施落实率
- 动物药理课件
- 公路工程路基石方开挖破碎施工合同8篇
- 一年级美术《认识美术工具》
- 教师的校本研修课件
- 三垦变频器说明书
评论
0/150
提交评论