how to fill JTable with data from MySql table

I am having a JTable and a MySql table.

I knew how to fill the JTable with the array data.  But how can I fill the JTable with MySql table in the backend.

Can anyone provide me some sample code...

Thanks.
shragiAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
ksivananthCommented:
you need to use custom table model, check this step by step example,

http://www2.sys-con.com/itsg/virtualcd/Java/archives/0607/hendry/index.html
0
 
ksivananthCommented:
0
 
Tomas Helgi JohannssonCommented:
0
 
shragiAuthor Commented:
I have done it with the below code.

But the problem is there were many many rows in the table and I don't want to show all of them at once.

I want to show only may be around 300 rows each time and have an option below the table like previous page and next page. So that on clicking the next page option it will display the next 300 rows.

How should I do this?
String driverClass = "com.mysql.jdbc.Driver";
			Class.forName(driverClass);
			String url  = "jdbc:mysql://localhost:3306/test";
			String username = "root";
			String password = "admin";

			Connection conn = DriverManager.getConnection(url,username,password);
			Statement st = conn.createStatement();
			String query = "select * from " + tableName;
			ResultSet result = st.executeQuery(query);
			ResultSetMetaData md = result.getMetaData();
			int columnCount = md.getColumnCount();

			Vector columns = new Vector(columnCount);

			//store column names
			for(int i=1; i<=columnCount; i++)
			columns.add(md.getColumnName(i));

			Vector dataV = new Vector();
			Vector row;

			//store row data
			while(result.next())
			{
			row = new Vector(columnCount);
			for(int i=1; i<=columnCount; i++)
			{
			row.add(result.getString(i));
			}
			dataV.add(row);
			}
			st.close();
			conn.close();
			
			table = new JTable(dataV, columns);
			
			 JFrame d = new JFrame(frame, false);
	         d.getContentPane().add(new JScrollPane(table));
	         d.pack();
	         d.setVisible(true);

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.