在Java中使用数组时如何使用@queryparam

时间:2015-06-09 09:10:11

标签: arrays web-services query-parameters

我正在使用一个安静的Web服务,我能够使用数组显示数据库记录。但我很困惑,我将如何能够显示我想要的记录。我这里有执行SQL查询的类。我正在使用Advanced Rest Client谷歌浏览器应用程序来测试响应和输出。我怎样才能查询'select * from taxi,其中taxi_plate_no ='输入数据''?我真的很困惑,我怎么能在阵列中做到这一点。请帮我。谢谢! :(

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import javax.ws.rs.QueryParam;

import com.taxisafe.objects.Objects;


public class DisplayArrayConnection
{


    public ArrayList<Objects> getDetails(Connection con) throws SQLException{
    ArrayList<Objects> taxiDetailsList = new ArrayList<Objects>();
    PreparedStatement stmt = con.prepareStatement("SELECT * FROM taxi");
    ResultSet rs = stmt.executeQuery();
    try
    {
        while(rs.next())
        {
            Objects detailsObject = new Objects();
            detailsObject.setTaxi_name(rs.getString("taxi_name"));
            detailsObject.setTaxi_plate_no(rs.getString("taxi_plate_no"));

            taxiDetailsList.add(detailsObject);

        }
    } catch (SQLException e)
    {       
        e.printStackTrace();
    }
    return taxiDetailsList;
    }
}

1 个答案:

答案 0 :(得分:0)

@QueryParam是其余web服务中使用的注释。 我想在这里你想使用SQL查询参数。

因此,在PreparedStatement中使用参数使用以下代码

     public class DisplayArrayConnection
         {

        public ArrayList<Objects> getDetails(Connection con,String taxiNumber) throws SQLException{
        ArrayList<Objects> taxiDetailsList = new ArrayList<Objects>();
        PreparedStatement stmt = con.prepareStatement("SELECT * FROM taxi WHERE taxi_plate_no= ?"); 
stmt.addString(1,taxiNumber);
        ResultSet rs = stmt.executeQuery();
        try
        {
            while(rs.next())
            {
                Objects detailsObject = new Objects();
                detailsObject.setTaxi_name(rs.getString("taxi_name"));
                detailsObject.setTaxi_plate_no(rs.getString("taxi_plate_no"));

                taxiDetailsList.add(detailsObject);

            }
        } catch (SQLException e)
        {       
            e.printStackTrace();
        }
        return taxiDetailsList;
        }

    }
  

注意:使用参数taxiNumber或您想要的任何其他参数   关于该参数的反复数据

     

并使用setString(position,value);取代 ?使用该参数