This site is currently read-only as we are migrating to Oracle Forums for an improved community experience. You will not be able to initiate activity until January 30th, when you will be able to use this site as normal.

    Forum Stats

  • 3,889,900 Users
  • 2,269,775 Discussions
  • 7,916,823 Comments

Discussions

cannot find symbol Java 19 Windows10 64bits Netbeans 15 Postgres14

User_68OP7
User_68OP7 Member Posts: 1 Green Ribbon

Hello friends, could you please tell me why I get this error?

============================================

debug:

Exception in thread "main" java.lang.ExceptionInInitializerError

Caused by: java.lang.RuntimeException: Uncompilable code - cannot find symbol

 symbol:  class User

 location: class insertmulti.InsertMulti

   at insertmulti.InsertMulti.<clinit>(InsertMulti.java:1)

C:\Users\pruebas\AppData\Local\NetBeans\Cache\15\executor-snippets\debug.xml:150: The following error occurred while executing this line:

C:\Users\pruebas\AppData\Local\NetBeans\Cache\15\executor-snippets\debug.xml:129: The following error occurred while executing this line:

C:\Users\pruebas\AppData\Local\NetBeans\Cache\15\executor-snippets\debug.xml:77: Java returned: 1

BUILD FAILED (total time: 19 seconds)

============================================

The lists are something complicated for me but as far as I can see it declares them, initializes them and calls the libraries, however it still gives me an error.

=========================================

/*

 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license

 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template

 */

package insertmulti;


/**

 *

 * @author pruebas

 */

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.util.Arrays;

import java.util.List;


public class InsertMulti {


   private final String url = "jdbc:postgresql://localhost/pruebaspg";

   private final String user = "americo";

   private final String password = "123456";


   private static final String INSERT_USERS_SQL = "INSERT INTO users" +

       " (id, name, email, country, password) VALUES " +

       " (?, ?, ?, ?, ?);";


   /**

    * insert multiple users

    */

   public void insertUsers(List < User > list) {

       try (

           Connection conn = DriverManager.getConnection(url, user, password); PreparedStatement statement = conn.prepareStatement(INSERT_USERS_SQL);) {

           int count = 0;


           for (User user: list) {

               statement.setInt(1, user.getId());

               statement.setString(2, user.getName());

               statement.setString(3, user.getEmail());

               statement.setString(4, user.getCountry());

               statement.setString(5, user.getPassword());


               statement.addBatch();

               count++;

               // execute every 100 rows or less

               if (count % 100 == 0 || count == list.size()) {

                   statement.executeBatch();

               }

           }

       } catch (SQLException ex) {

           System.out.println(ex.getMessage());

       }

   }


   public static void main(String[] args) {

       InsertMulti example = new InsertMulti();

       example.insertUsers(Arrays.asList(new User(2, "Ramesh", "[email protected]", "India", "password123"),

           new User(3, "John", "[email protected]", "US", "password123")));

   }


}

=========================================

The example is from this page:

https://www.javaguides.net/2020/02/java-jdbc-postgresql-insert-example.html

Thanks for your time.

Answers

  • justsomeone
    justsomeone Member Posts: 51 Red Ribbon

    Hello


    the compiler can not find the User class

    for example in this line in your code

     public void insertUsers(List < User > list)

    insertUsers take list of User but it can not find the class User so to solve it

    1) import the class User

    2) if the class User are in the same package then you do not need to do anything

    3) if the class User are nested member (static inner class or inner class) then you do not need to anything also


    but i guess this class are in other package maybe from the tutorial you mentioned it's mentioned in previous page or something


    hope that help and have a nice day :)