2017-07-13 2 views
0

Wie kann ich SQL-Wert zu einem Arraylist hinzufügen und dann prüfen, ob x-Wert auf der Liste ist. Stellen Sie sich vor, ich fügte Werte 5,7,8,9,10 hinzu, und dann überprüfe ich, ob es 6 gibt und es würde falsch zurückgeben. Wie mache ich es ?hinzufügen SQL-Wert zu einem Arraylist und dann prüfen, ob sie da sind

+0

allererst müssen Sie überprüfen, ob die Liste enthält das Objekt, das Sie suchen möchten, und überprüfen Sie dann, was der Wert des Objekts ist, das Sie in der Liste gefunden haben !!! – matrix

Antwort

1

Ja können Sie die .contains (6) -Methode auf Ihrer Arraylist. zB:

public static boolean doesNumberExist(int numberToFind) throws SQLException { 
     PreparedStatement ps = null; 
     ResultSet rs = null; 

     List<Integer> nums = new ArrayList<>(); 
     String sql = "SELECT number from DB"; 

     try(Connection conn = DriverManager.getConnection("");){ 

      ps = conn.prepareStatement(sql); 
      rs = ps.executeQuery(); 

      while(rs.next()){ 
       int num = rs.getInt ("number"); 
       // ADD NUMBER TO THE LIST 
       nums.add(num); 
      } 
     } 
     finally{ 
      ps.close(); 
      rs.close(); 
     } 
     // RETURN IF LIST CONTAINS NUMBER OR NOT 
     return nums.contains(numberToFind); 
    } 
+0

So habe ich eine Arraylist namens DatesList, ich habe schon Gegenstände darauf können Sie den Code in diesem Zusammenhang bearbeiten? –

+0

Verwenden Sie einfach Rückkehr dateList.contains (...); – badgerboy86

1

wenn Sie Mysql verwenden Sie können mit dem Verfahren queryForLists mit jdbcTemplate tun, wie Sie unten sehen können:

public List getAllProducts() throws UnsupportedEncodingException{ 

     String query = "SELECT * FROM Products"; 
     List<Products> products = new ArrayList<>(); 
     List<Map<String, Object>> rows = this.jdbcTemplate.queryForList(query); 

     for(Map row : rows){ 

      //Here you can validate whatever you want before save it into list 

      Products product = new Products(); 
      product.setId((int)(row.get("id"))); 
      product.setProductName((String)(row.get("productName"))); 
      product.setProductDescription((String)(row.get("productDescription"))); 
      product.setProductPrice((BigDecimal)(row.get("productPrice"))); 

      byte[] imageAsBytes = (byte[]) row.get("productImage"); 
      byte[] encodeBase64 = Base64.encodeBase64(imageAsBytes); 
      String base64Encoded = new String(encodeBase64, "UTF-8"); 

      product.setProductStock((int)(row.get("productStock"))); 
      product.setProductImage(base64Encoded); 
      products.add(product); 
     } 

     return products; 
    }; 

Grüßen,

+0

So habe ich eine Arraylist namens DatesList, ich habe schon Gegenstände darauf können Sie den Code in diesem Zusammenhang bearbeiten? –

+0

kannst du mir deinen Code zeigen? Nur die Methode, die Sie –

+0

ich es bereits getan haben, ändern möchten, es war sehr einfach, tatsächlich, nur tat ArrayList.contains (Wert), würde ich tickte Sie recht haben, aber ich kann nur das tun, eine Person und er redete. enthält, aber ich habe Sie hochgestuft. Nun, wenn ich euch beide richtig ankreuzen könnte, würde ich :( –

Verwandte Themen