T
TheDirtyPanda
Gast
Moinsen,
ich habe folgendes Problem: momentan bekomme ich immer die NullPointerException, wenn ich immer ein neues Objekt von einer Klasse erzeuge. Eigentlich sollte diese aber nicht null sein. Ich habe schon gegooglt aber irgendwie komme ich gerade nicht weiter.
Hier einmal mein Code:
Die Main-Klasse:
Die der User-Controller:
Die User-Klasse:
Und den User-DAO:
Ich verstehe es momentan nicht mehr - eigentlich müsste der User ja gefüllt sein .... Naja als Fehlermeldung bekomme ich folgendes:
Vielleicht könnt ihr mir dabei weiter helfen!
mit freundlichen Grüßen,
TheDirtyPanda
ich habe folgendes Problem: momentan bekomme ich immer die NullPointerException, wenn ich immer ein neues Objekt von einer Klasse erzeuge. Eigentlich sollte diese aber nicht null sein. Ich habe schon gegooglt aber irgendwie komme ich gerade nicht weiter.
Hier einmal mein Code:
Die Main-Klasse:
Java:
package application;
import application.controllers.UserController;
public class Main {
public static void main(String[] args) {
UserController usercontroller = new UserController();
}
}
Die der User-Controller:
Java:
package application.controllers;
import application.dao.UserDAO;
import application.models.User;
public class UserController {
private UserDAO userdao;
private User user;
public UserController() {
user = new User(0,"Elefant","elefant","elefant@elefant.de");
userdao.createUser(user);
userdao.getAllUsers();
}
}
Die User-Klasse:
Java:
package application.models;
public class User {
private int id_user;
private String username;
private String catchword;
private String email;
public User(int id_user, String username, String catchword, String email) {
this.id_user = id_user;
this.username = username;
this.catchword = catchword;
this.email = email;
}
public void setId_user(int id_user) {
this.id_user = id_user;
}
public int getId_user() {
return this.id_user;
}
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return this.username;
}
public void setCatchword(String catchword) {
this.catchword = catchword;
}
public String getCatchword() {
return this.catchword;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return this.email;
}
}
Und den User-DAO:
Java:
package application.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import application.interfaces.UserInterface;
import application.models.User;
public class UserDAO implements UserInterface {
Connection connection = null;
Statement statement = null;
ResultSet resultset = null;
@Override
public void setConnectionToDatabase() {
String host = "jdbc:mysql://localhost/";
String dbname = "anwendung";
String username = "root";
String password = "";
String url = host + dbname + "?user=" + username + "&password=" + password;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(url);
System.out.println("Sucess!");
} catch(ClassNotFoundException e) {
System.out.println("Class not found!");
e.printStackTrace();
} catch(SQLException e) {
System.out.println("SQL Exception!");
e.printStackTrace();
}
}
@Override
public void getAllUsers() {
try {
statement = connection.createStatement();
resultset = statement.executeQuery("SELECT * FROM users");
while(resultset.next()) {
System.out.println("ID: " + resultset.getInt(1));
System.out.println("Username: " + resultset.getString(2));
System.out.println("Catchword: " + resultset.getString(3));
System.out.println("Email: " + resultset.getString(4));
}
} catch(SQLException e) {
System.out.println("Es ist ein Fehler ausgetreten: ");
e.printStackTrace();
}
}
@Override
public void createUser(User user) {
try {
PreparedStatement pst = connection.prepareStatement("INSERT INTO users (id_user, username, catchword, email) VALUES (?,?,?,?)");
pst.setInt(1, user.getId_user());
pst.setString(2, user.getUsername());
pst.setString(3, user.getCatchword());
pst.setString(4, user.getEmail());
pst.executeUpdate();
} catch(SQLException e) {
e.printStackTrace();
}
}
}
Ich verstehe es momentan nicht mehr - eigentlich müsste der User ja gefüllt sein .... Naja als Fehlermeldung bekomme ich folgendes:
Code:
Exception in thread "main" java.lang.NullPointerException
at application.controllers.UserController.<init>(UserController.java:14)
at application.Main.main(Main.java:8)
Vielleicht könnt ihr mir dabei weiter helfen!
mit freundlichen Grüßen,
TheDirtyPanda