JDBC:数据库信息显示在JTable
来源:互联网 发布:excel怎么高级筛选数据 编辑:程序博客网 时间:2024/06/03 23:00
UI
参考:https://www.cnblogs.com/zjl6/p/6814986.html?utm_source=itdadao&utm_medium=referral
/** * 开发一个小程序,将Motel168客房管理系统全部员工信息在一个JTable中逐行显示,自学JTable的使用 */package com.Test.view;import java.awt.Color;import java.awt.Dimension;import java.awt.EventQueue;import java.awt.Toolkit;import java.util.List;import javax.swing.*;import javax.swing.border.LineBorder;import javax.swing.table.DefaultTableModel;import javax.swing.GroupLayout;import javax.swing.GroupLayout.Alignment;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.border.EmptyBorder;import javax.swing.border.LineBorder;import javax.swing.table.DefaultTableModel;import com.Test.dao.UsernameDAO;import com.Test.dto.UsernameDTO;import java.awt.*; import java.awt.event.*;public class UsernameDisplay extends JFrame{ private JPanel contentPane; private JTable table; private String head[]=null; private Object [][]data=null; private UsernameDAO user = new UsernameDAO(); public UsernameDisplay(){ setResizable(false); setTitle("Tset"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 700, 200); Dimension us=this.getSize(); Dimension them=Toolkit.getDefaultToolkit().getScreenSize(); int x=(them.width-us.width)/2; int y=(them.height-us.height)/2; this.setLocation(x, y); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(0,0,700,250); table = new JTable(); table.setBorder(new LineBorder(new Color(0, 0, 0))); head = new String[]{ "empAccount","empPassword","empName","empSex","empDeparment","empTel","empEmail","empQuestion","empAnswer", }; DefaultTableModel tabelModel = new DefaultTableModel(queryData(), head){ public boolean isCellEditabel(int row, int column) { return false; } }; table.setModel(tabelModel); scrollPane.setViewportView(table); GroupLayout gl_contentPane = new GroupLayout(contentPane); gl_contentPane.setHorizontalGroup( gl_contentPane.createParallelGroup(Alignment.LEADING) .addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 684, Short.MAX_VALUE) ); gl_contentPane.setVerticalGroup( gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 195, GroupLayout.PREFERRED_SIZE) .addGap(66)) ); contentPane.setLayout(gl_contentPane); this.setVisible(true);} public Object[][] queryData() { List<UsernameDTO> list=user.queryAllUser(); data = new Object[list.size()][head.length]; for(int i=0;i<list.size();i++){ for(int j=0;j<head.length;j++){ data[i][0]=list.get(i).getEmpAccount(); data[i][1]=list.get(i).getEmpPassword(); data[i][2]=list.get(i).getEmpName(); data[i][3]=list.get(i).getEmpSex(); data[i][4]=list.get(i).getEmpDeparment(); data[i][5]=list.get(i).getEmpTel(); data[i][6]=list.get(i).getEmpEmail(); data[i][7]=list.get(i).getEmpQuestion(); data[i][8]=list.get(i).getEmpAnswer(); } } return data; }public static void main(String[] args) { new UsernameDisplay(); }}
DAO
/** * 千枝竞秀有天皆丽日,万木争荣无地不春风 * Author: RoniZeng * Time:17/12/25 */package com.Test.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import com.Test.Util.DBUtil;import com.Test.dto.UsernameDTO;public class UsernameDAO { private Connection conn = null; private PreparedStatement statement = null; private ResultSet rs = null; public List<UsernameDTO> queryAllUser() { List<UsernameDTO> list=new ArrayList<UsernameDTO>(); try { conn = DBUtil.getConnection(); String sql = "select * from Employee"; statement = conn.prepareStatement(sql); rs = statement.executeQuery(); while(rs.next()){ UsernameDTO userdto = new UsernameDTO(); userdto.setEmpAccount(rs.getString(1)); userdto.setEmpPassword(rs.getString(2)); userdto.setEmpName(rs.getString(3)); userdto.setEmpSex(rs.getString(4)); userdto.setEmpDeparment(rs.getString(5)); userdto.setEmpTel(rs.getString(6)); userdto.setEmpEmail(rs.getString(7)); userdto.setEmpQuestion(rs.getString(8)); userdto.setEmpAnswer(rs.getString(9)); list.add(userdto); } } catch(Exception e) { e.printStackTrace(); } finally { try { statement.close(); conn.close(); } catch(Exception e1) { e1.printStackTrace(); } } return list; }}
DTO
package com.Test.dto;public class UsernameDTO { private String empAccount, empPassword, empName; private String empSex, empDeparment, empTel; private String empEmail, empQuestion, empAnswer; public String getEmpAccount() { return empAccount; } public void setEmpAccount(String empAccount) { this.empAccount = empAccount; } public String getEmpPassword() { return empPassword; } public void setEmpPassword(String empPassword) { this.empPassword = empPassword; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public String getEmpSex() { return empSex; } public void setEmpSex(String empSex) { this.empSex = empSex; } public String getEmpDeparment() { return empDeparment; } public void setEmpDeparment(String empDeparment) { this.empDeparment = empDeparment; } public String getEmpTel() { return empTel; } public void setEmpTel(String empTel) { this.empTel = empTel; } public String getEmpEmail() { return empEmail; } public void setEmpEmail(String empEmail) { this.empEmail = empEmail; } public String getEmpQuestion() { return empQuestion; } public void setEmpQuestion(String empQuestion) { this.empQuestion = empQuestion; } public String getEmpAnswer() { return empAnswer; } public void setEmpAnswer(String empAnswer) { this.empAnswer = empAnswer; }}
DBUtil
package com.Test.Util;import java.sql.Connection;import java.sql.DriverManager;public class DBUtil { public static Connection getConnection(){ try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=HappyDB;user=sa;password=123456"); return conn; } catch (Exception e) { } return null; }}
阅读全文