Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

cannot find symbol Java 19 Windows10 64bits Netbeans 15 Postgres14

User_68OP7Oct 13 2022

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", "ramesh@gmail.com", "India", "password123"),
new User(3, "John", "john@gmail.com", "US", "password123")));
}

}
=========================================
The example is from this page:
https://www.javaguides.net/2020/02/java-jdbc-postgresql-insert-example.html
Thanks for your time.

Comments

justsomeone

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 :)

1 - 1

Post Details

Added on Oct 13 2022
1 comment
1,188 views