CodeMartain 2021-09-12 16:18 采纳率: 76.3%
浏览 31
已结题

下面代码中怎么接收参数呀?

img

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class Link {

   static PreparedStatement preparedStatement = null;
   static Connection connection = null;
     public static List baseQuery(String sql, Object... args) {
       List<Object> List = new ArrayList<>();
int length=args.length;
       try {
           //创建连接
           Link.createLink();
           Link.connection.setAutoCommit(false);
           connection.prepareStatement(sql);

           for (int i = 0; i < args.length; i++) {
               preparedStatement.setObject(i + 1, args[i]);
           }
           ResultSet resultSet = preparedStatement.executeQuery();
           //将数据加入到集合中,便于查询用ARRAYlIST接收
           while (resultSet.next()) {
               for (int i = 1; i <= args.length; i++) {
                   Object obj=resultSet.getObject(i);
               }

               Object obj = new Object(//参数怎么接收???);
               List.add(obj);
           }
           if (!(List.size() == 0)) {
               for (Object o : List
               ) {
                   System.out.println(o);
               }
           } else {
               System.out.println("EMPTY DATA;");
           }
       } catch (Exception e1) {
           e1.printStackTrace();
           System.out.println("网络繁忙请稍后再试");

       } finally {

           if (null != Link.connection) {
               try {
                   Link.connection.commit();
               } catch (SQLException ex) {
                   ex.printStackTrace();
               }
           }
           //释放连接
           closeLink(Link.connection);

       }
  • 写回答

2条回答 默认 最新

  • D狂风R 2021-09-12 16:40
    关注
    
                //将数据加入到集合中,便于查询用ARRAYlIST接收
               /**while (resultSet.next()) {
                   for (int i = 1; i <= args.length; i++) {
                       Object obj=resultSet.getObject(i);
                   }
     
                   Object obj = new Object(//参数怎么接收???);
                   List.add(obj);
               }*/
                //修改部分
               if (resultSet.hasNext()) {
                   for (int i = 1; i <= args.length; i++) {
                       Object obj=resultSet.getObject(i);
                   }
               } else {
                   System.out.println("EMPTY DATA;");
               }
    
              //或者修改为
              while (resultSet.next()) {
                   for (int i = 1; i <= args.length; i++) {
                       Object obj=resultSet.getObject(i);
                        List.add(obj);
                   }
     
                   //Object obj = new Object(//参数怎么接收???);
                   //List.add(obj);
               }
               if (!(List.size() == 0)) {
                   for (Object o : List
                   ) {
                       System.out.println(o);
                   }
               } else {
                   System.out.println("EMPTY DATA;");
               }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 已采纳回答 9月19日
  • 创建了问题 9月12日

悬赏问题

  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序