Skip to Main Content

New to Java

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!

Problem with DTO

801827Sep 29 2010 — edited Sep 30 2010
Hi!
Here is a sample of my code, where I have the problem:
package listeners;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import model.MyTableModel;
import model.UserDTO;

import util.DataBase;
import util.Functions;
import util.NamesUtil;
import frames.AddFrame;

public class MenuAction implements ActionListener
{
	private MyTableModel model;
	private Functions nameOperations;
	private UserDTO user;
	
	public MenuAction(MyTableModel tableModel)
	{
		this.model = tableModel;
	}

	@Override
	public void actionPerformed(ActionEvent e) 
	{
		String action = e.getActionCommand();
		
		if (action.equals("Connect"))
		{
			System.out.println("It's connected.");
		}
		
		if (action.equals("Add"))
		{
			insertRow();
		}
		
		if (action.equals("Close"))
		{
			System.exit(0);
		}
	}
	
	private void insertRow()
	{
		List<UserDTO> userList = model.getDataList();
		user = new UserDTO();
		user.setFirstName("Paul");
		user.setLastName("bla123");
		userList.add(user);
		model.fireTableRowsInserted(0, model.getRowCount());
		nameOperations.addDataToBase(user);
	}
}

-----

package util;

import java.util.List;

import model.UserDTO;

public interface Functions 
{
	public List<UserDTO> getDataFromBase();
	
	public void addDataToBase(UserDTO user);
}

-----

package util;

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import prop.JDBC;

import model.UserDTO;

public class DataBase implements Functions
{
	public List<UserDTO> getDataFromBase() 
	{
		List<UserDTO> data = null;
		try {
			data = new ArrayList<UserDTO>();
			
			Connection conn = JDBC.getConnection();
			Statement stat = conn.createStatement();
			String select = "SELECT IDuser, login, password FROM users;";
			ResultSet rs = stat.executeQuery(select);
			
			UserDTO user = null;
			
			while (rs.next()) {
				String name = rs.getString("login");
				String lname = rs.getString("password");
				int id = rs.getInt("IDuser");
				user = new UserDTO();
				user.setUserId(id);
				user.setLogin(login);
				user.setPassword(passwd);
				data.add(user);
			}
			
			conn.close();
			stat.close();
			rs.close();
		} 
		catch (SQLException ex) {
			for (Throwable t : ex)
				t.printStackTrace();
		} 
		catch (IOException ex) {
			ex.printStackTrace();
		}
		return data;
	}

	@Override
	public void addDataToBase(UserDTO user) 
	{
		try {
			Connection conn = JDBC.getConnection();
			Statement stat = conn.createStatement();
	                stat.executeUpdate("insert into users(login,password) values('"+ user.getLogin() +"','"+ user.getPassword()+"');");
			conn.close();
			stat.close();
		}
		catch (SQLException ex) {
			for (Throwable t : ex)
				t.printStackTrace();
		} 
		catch (IOException ex) {
			ex.printStackTrace();
		}
	}
}
-----

When I want to use the user in nameOperations.addDataToBase() - in the first class - I'm getting +"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException"+.
In the table I made in swing login and password has appeared but in the base not. Can someone know how to help me?

Edited by: user9357487 on 2010-09-29 22:56
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 28 2010
Added on Sep 29 2010
4 comments
354 views