java webservice 泛型_以webService为客户端获取List泛型结果集

首先搭建好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 getAll()

{

List ar = new ArrayList();

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 {

// Fields

private 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 accessors

public 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 MyEclipse

public interface IUserService {

public List getAll();

}

实现类UserServiceImpl.java

package com.xtgd.test;

import java.util.List;

//Generated by MyEclipse

public class UserServiceImpl implements IUserService {

private UserDao dao = new UserDao();

/***************************************************************************

* 查询所有

*/

public List getAll(){

return this.dao.getAll();

}

}

在IUserService.java同级目录下添加IUserService.aegis.xml,命名规则为"接口名.aegis.xml"

web.xml的配置如下:

XFireServlet

org.codehaus.xfire.transport.http.XFireConfigurableServlet

0

XFireServlet

/services/*

XFireServlet

/services/XFireServlet/*

index.jsp

services.xml的配置如下:

UserService

com.xtgd.test.IUserService

com.xtgd.test.UserServiceImpl

literal

application

成功发布到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) {

// 构建service

Service 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 list = usersService.getAll();

// 输出list长度

System.out.println(list.size());

// 遍历list

for (TUser users : list) {

System.out.println("personid:" + users.getUPersonid()

+ "\tpersonname:" + users.getUPersonname());

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值