Please could you tell me why I get an 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\alex\AppData\Local\NetBeans\Cache\15\executor-snippets\debug.xml:150: The following error occurred while executing this line:
C:\Users\alex\AppData\Local\NetBeans\Cache\15\executor-snippets\debug.xml:129: The following error occurred while executing this line:
C:\Users\alex\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 is declared, initialized and has the libraries, this is the code.
/*
* 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/mydb";
private final String user = "myusr";
private final String password = "password";
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:
I am using Windows 10 64-bits, Java 19, PostgreSQL 14, Apache NetBeans 15.