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');
效果图: