把数据库表中的内容显示在JTable

1.

package jdbc;

/**
 * 
 * @author 李林君
 * @version 2013-6-16下午2:32:13
 */
public class Student {
	private String id;
	private String name;
	private String sex;
	private String speciality;
	private String address;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getSpeciality() {
		return speciality;
	}

	public void setSpeciality(String speciality) {
		this.speciality = speciality;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

}

2.

package jdbc;

import java.awt.EventQueue;
import java.awt.Font;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;

/**
 * 
 * @author 李林君
 * @version 2013-6-16下午2:34:33
 */
public class SelectUseExists extends JFrame {

	private JPanel contentPane;
	private JTable table;
	private LocalTableModel model = new LocalTableModel();

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {

			@Override
			public void run() {
				try {
					SelectUseExists frame = new SelectUseExists();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public SelectUseExists() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		JPanel panel = new JPanel();
		panel.setBounds(0, 0, 434, 262);
		contentPane.add(panel);
		panel.setLayout(null);

		JLabel messageLabel = new JLabel("使用UNION运算符使用学生档案归档");
		messageLabel.setFont(new Font("华文中宋", Font.PLAIN, 14));
		messageLabel.setBounds(101, 10, 269, 31);
		panel.add(messageLabel);

		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(40, 51, 345, 185);
		panel.add(scrollPane);

		table = new JTable(model);
		scrollPane.setViewportView(table);

		StudentUnion studentUnion = new StudentUnion();
		List list = studentUnion.getMessageEmp();

		for (int i = 0; i < list.size(); i++) {
			Student student = (Student) list.get(i);
			model.addRow(new Object[] { student.getId(), student.getName(), student.getSex(),
					student.getSpeciality(), student.getAddress() });
		}
	}

}


3.

package jdbc;

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

/**
 * 
 * @author 李林君
 * @version 2013-6-16下午2:44:27
 */
public class StudentUnion {

	private Connection conn;

	public Connection getCon() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		String url = "jdbc:mysql://localhost:3306/llj";
		String userName = "root";
		String passWord = "123456";
		try {
			conn = DriverManager.getConnection(url, userName, passWord);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}

	public List getMessageEmp() {
		conn = getCon();
		List list = new ArrayList<Student>();
		try {
			Statement smt = conn.createStatement();
			String sql = "select * from llj.tb_student";
			ResultSet rest = smt.executeQuery(sql);
			while (rest.next()) {
				Student student = new Student();
				student.setId(rest.getString(1));
				student.setName(rest.getString(2));
				student.setSex(rest.getString(3));
				student.setSpeciality(rest.getString(4));
				student.setAddress(rest.getString(5));
				list.add(student);
			}

			return list;

		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

}


4.

package jdbc;

/**
 * 
 * @author 李林君
 * @version 2013-6-16下午1:54:31
 */
public class LocalTableModel extends javax.swing.table.DefaultTableModel {
	Class[] types = new Class[] { java.lang.Object.class, java.lang.String.class,
			java.lang.String.class, java.lang.String.class, java.lang.String.class };
	boolean[] canEdit = new boolean[] { false, false, false, false, false };

	public LocalTableModel() {
		super(new Object[][] {}, new String[] { "编号", "姓名", "性别", "专业", "住址" });
	}

	public Class getColumnClass(int columnIndex) {
		return types[columnIndex];
	}

	public boolean isCellEditable(int rowIndex, int columnIndex) {
		return canEdit[columnIndex];
	}
}



sql:

CREATE TABLE
    llj.tb_student
    (
        id VARCHAR(22) NOT NULL,
        name VARCHAR(22),
        sex VARCHAR(22),
        spciality VARCHAR(22),
        address VARCHAR(22),
        PRIMARY KEY (id)
    )
    ENGINE=InnoDB DEFAULT CHARSET=utf8

insert into tb_student (id, name, sex, spciality, address) values ('1', '1', '1', '1', '1');
insert into tb_student (id, name, sex, spciality, address) values ('12', '3', '3', '4', '5');
insert into tb_student (id, name, sex, spciality, address) values ('2', '3', '3', '4', '5');
insert into tb_student (id, name, sex, spciality, address) values ('4', '3', '3', '4', '5');
insert into tb_student (id, name, sex, spciality, address) values ('5', '3', '3', '4', '5');


效果图:











评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值