I have developed a Java GUI App.I want to connect that with mysql.I have already connected a seperate java file with mysql.That java class is also in the same package in my Netbeans project.I want to know is it possible connect DB by using that seperate java class?

5 Years
Discussion Span
Last Post by pro_learner

I think that question needs to be clarified. Does the existing java file handle data from mysql that you now want to use in your GUI?


You just need public methods in your existing java file that the GUI can call to access the data it needs. The existing code shields the GUI from all the complexity of the SQL and separates your application into layers that make it much simpler to understand and support.


I'm not sure if this is what you want. Here is an example. We may have different implementation on fetching data but the point here is the abstraction so that your view does not know how the data are fetched. For the sake of completeness and clarity I added a few classes.

//Sample Person class

public class Person {
    private int personId;
    private String name;
    private String address;
    //default constructor
    public Person(){};
    public Person(int personId, String name, String address){
        this.personId = personId;
        this.name = name;
        this.address = address;

    //setters and getters

//an interface that defines all operations in your Person database table

public interface PersonDao{
    //a function that gets all Person in your database
    public List<Person> selectAllPerson();
    // add more methods you need

implementation on how you want your data fetched from database

public class PersonDaoImpl implements PersonDao{
    Connection connection;
    PreparedStatement statement;

    public List<Person> selectAllPerson() {
        List<Person> persons = new ArrayList<Person>();
        try {
            //change this part depending on your database
            connection = DriverManager.getConnection("org.sqlite.JDBC");
            statement = connection.prepareStatement("SELECT * FROM Person");
            ResultSet rs = statement.executeQuery();
                persons.add(new Person(rs.getInt("personId"), rs.getString("name"), 
        } catch (Exception ex) {
            Logger.getLogger(UserDaoImpl.class.getName()).log(Level.SEVERE, null, ex);
                if(connection != null){connection.close();}
                if(statement != null){statement.close();}
            }catch(Exception ex){}
        return groups;

    //more methods

This is in the view part. Assume I have already define my TableModel.

//get the model of  JTable called table
    DefaultTableModel model = (DefaultTableModel)table.getModel();
    //create the object which calls a function to fetch data from DB.
    PersonDaoImpl personDao = new PersonDaoImpl();
    List<Person> persons = personDao.selectAllPerson();
    for(Person person:persons){
        //add each person to your table. 
        model.addRow(new Object[]{person.getName(),person.getAddress()});

I hope this helps.

Edited by jazz_vill: n/a


Thanks for your help.I'll try your solutions.If i have further problem i'll post it here.Thank you again.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.