以webService为客户端获取List泛型结果集
来源:互联网 发布:mac怎样彻底删除软件 编辑:程序博客网 时间:2024/06/16 07:14
首先搭建好webService,添加XFire1.2Core Libraries 和XFire1.2HTTP Client Libraries,连接上数据库,下例以oracle为数据库。
连接Oralce,连接类为DBConnection.java
package com.xtgd.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class DBConnection {private String driver="oracle.jdbc.driver.OracleDriver";private String url="jdbc:oracle:thin:@localhost:1521:orcl";private String username="scott";private String pwd="tiger";private Connection conn=null;public Connection getConn(){try {Class.forName(driver);conn=DriverManager.getConnection(url,username,pwd);} catch (Exception e) {e.printStackTrace();}return conn;}public void closeConn(ResultSet rs,PreparedStatement ps,Connection conn){try {if(rs!=null){rs.close();}if(rs!=null){rs.close();}if(rs!=null){rs.close();}} catch (Exception e) {e.printStackTrace();}}}
写好UserDao方法 UserDao.java
package com.xtgd.test;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;public class UserDao{DBConnection b = new DBConnection();private PreparedStatement pre = null;private ResultSet rs = null;private Connection conn = null;/* * 全查询 */public List<TUser> getAll(){List<TUser> ar = new ArrayList<TUser>();try{String sql = "select * from t_user";conn = b.getConn();pre = conn.prepareStatement(sql);rs = pre.executeQuery();while (rs.next()){TUser user = new TUser();user.setUId(rs.getInt("u_id"));user.setUPersonid(rs.getString("u_personid"));user.setUPersonname(rs.getString("u_personname"));user.setUPassword(rs.getString("u_password"));user.setUTel(rs.getString("u_tel"));user.setUEmail(rs.getString("u_email"));user.setUState(rs.getInt("u_state"));user.setURemark(rs.getString("u_remark"));ar.add(user);}}catch (Exception e){e.printStackTrace();}finally{b.closeConn(rs, pre, conn);}return ar;}}
实体类为TUser.entity
package com.xtgd.test;import java.io.Serializable;/** * TUser entity. * * @author MyEclipse Persistence Tools */public class TUser implements Serializable {// Fieldsprivate Integer UId;private String UPersonid;private String UPersonname;private String UPassword;private String UTel;private String UEmail;private int UState = 1;private String URemark;// Constructors/** default constructor */public TUser() {}/** full constructor */public TUser(String UPersonid, String UPersonname, String UPassword,String UTel, String UEmail, int UState, String URemark) {this.UPersonid = UPersonid;this.UPersonname = UPersonname;this.UPassword = UPassword;this.UTel = UTel;this.UEmail = UEmail;this.UState = UState;this.URemark = URemark;}// Property accessorspublic Integer getUId() {return this.UId;}public void setUId(Integer UId) {this.UId = UId;}public String getUPersonid() {return this.UPersonid;}public void setUPersonid(String UPersonid) {this.UPersonid = UPersonid;}public String getUPersonname() {return this.UPersonname;}public void setUPersonname(String UPersonname) {this.UPersonname = UPersonname;}public String getUPassword() {return this.UPassword;}public void setUPassword(String UPassword) {this.UPassword = UPassword;}public String getUTel() {return this.UTel;}public void setUTel(String UTel) {this.UTel = UTel;}public String getUEmail() {return this.UEmail;}public void setUEmail(String UEmail) {this.UEmail = UEmail;}public int getUState() {return UState;}public void setUState(int state) {UState = state;}public String getURemark() {return this.URemark;}public void setURemark(String URemark) {this.URemark = URemark;}}
写好接口IUserService.java
package com.xtgd.test;import java.util.List;//Generated by MyEclipsepublic interface IUserService {public List<TUser> getAll();}
实现类UserServiceImpl.java
package com.xtgd.test;import java.util.List;//Generated by MyEclipsepublic class UserServiceImpl implements IUserService {private UserDao dao = new UserDao();/*************************************************************************** * 查询所有 */public List<TUser> getAll(){return this.dao.getAll();}}
在IUserService.java同级目录下添加IUserService.aegis.xml,命名规则为"接口名.aegis.xml"
<?xml version="1.0" encoding="UTF-8"?><!-- 该文件用来描述IUsersService接口中getAll()方法返回值的类型 该文件必须与IUsersService位于同一目录中,且该文件遵循如下命名规则 webservice接口名.aegis.xml 如本文件IUsersService.aegis.xml --><mappings><method name="getAll"> <return-type componentType="#users"/> </method> <!-- 映射getAll()方法返回值类型 --> <mapping> <component name="users" class="com.xtgd.test.TUser" componentType="com.xtgd.test.TUser"/> </mapping></mappings>
web.xml的配置如下:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <!-- 添加mapping --> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/XFireServlet/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
services.xml的配置如下:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://xfire.codehaus.org/config/1.0"><service><name>UserService</name><serviceClass>com.xtgd.test.IUserService</serviceClass><implementationClass>com.xtgd.test.UserServiceImpl</implementationClass><style>wrapped</style><use>literal</use><scope>application</scope></service></beans>
成功发布到tomcat上之后,下面开始测试,测试类为Test.java,注意导入正确的包!
package com.xtgd.test;import java.util.List;import com.xtgd.test.*;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;public class Test {public static void main(String[] args) {// 构建serviceService service = (Service) new ObjectServiceFactory().create(IUserService.class);try {// 获得自定义webservice接口IUserService usersService = (IUserService) new XFireProxyFactory().create(service,"http://localhost:8080/08_01_webservice/services/UserService");// 调用该webservice中定义的getUsers()方法List<TUser> list = usersService.getAll();// 输出list长度System.out.println(list.size());// 遍历listfor (TUser users : list) {System.out.println("personid:" + users.getUPersonid()+ "\tpersonname:" + users.getUPersonname());}} catch (Exception e) {e.printStackTrace();}}}
最后,欢迎访问风格清新简洁的轻博客网站[指尖一刻]
- 以webService为客户端获取List泛型结果集
- 从查询出来的结果集获取Blob数据(以图片为例)
- resultset结果集转换为实体List
- mybatis获取list结果集的操作
- webservice获取客户端IP地址
- webservice获取客户端IP地址
- android获取webservice list数据
- Java中将ResultSet结果集转换为List
- 初步感受一下泛型算法---以accumulate作用于内置数组、vector和list为例
- 以cdn为前导,使用Nginx服务器反向代理,获取客户端真实ip的办法
- 以结果为导向的时间管理
- flex调用webservice(以天气预报为例)
- webservice的搭建(以cxf为例)
- java 传入结果集,和一个Class,把结果集转化为List对象
- 以结果为导向,收获结果,感悟过程
- 判断Laravel Eloquent获取数据结果集是否为空
- List结果集排序
- 在客户端调用WebService服务获取数据
- 关于Intel无线网卡在ubuntu 12.04下无法连网的问题
- 选举算法
- Network Programming
- 求两个整数的最大公约数,算法原理辗转相除法 原理: GCD (x,y) = GCD(y,x%y)
- Bit与Byte的区别
- 以webService为客户端获取List泛型结果集
- ERROR: JDWP Unable to get JNI 1.2 environment
- s3c44B0的启动代码44b0init.S的中断分析
- JSEclipse--js插件
- 如何在VC中调用CLAPACK
- NANDFLASH调试
- 专家博客记录
- Mybatis3 抛 Waiting as long as 20000 milliseconds for connection.信息的处理方法
- javaMail的简单应用