900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java中按学号查找_Java课程设计---浏览学生(实现根据姓名查询)

java中按学号查找_Java课程设计---浏览学生(实现根据姓名查询)

时间:2021-06-13 02:46:04

相关推荐

java中按学号查找_Java课程设计---浏览学生(实现根据姓名查询)

1、修改窗口

2、在StudentDao中增加根据姓名查找的方法

public List getStudent(String name)throws SQLException{

DbUtil dbUtil = new DbUtil();

String sql="select * from tb_student where name LIKE '"+name+"%'";

System.out.println(sql);

List list = new ArrayList();

ResultSet rs=dbUtil.executeQuery(sql);

while(rs.next()){

Student student = new Student();

student.setId(rs.getInt("id"));

student.setName(rs.getString("name"));

student.setSex(rs.getString("sex"));

student.setSno(rs.getString("sno"));

student.setClassName(rs.getString("classname"));

list.add(student);

}

return list;

}

3、在StudentService中增加服务

/**

* 根据姓名模糊查找

* @param name

* @return

* @throws SQLException

*/

public List getStudent(String name) throws SQLException {

StudentDao studentDao = new StudentDao();

return studentDao.getStudent(name);

}

4、将窗口和服务绑定

(1)将表格数据装载分离出来

fillTable方法

public void fillTable(List list) {

// 将默认的加载数据去掉,重新定义个表头

String[] head = new String[] { "序号", "学号", "姓名", "性别", "班级" };

// 创建一个二维数组,5表示列数

Object[][] data = new Object[list.size()][5];

// 遍历

for (int i = 0; i < list.size(); i++) {

data[i][0] = list.get(i).getId();

data[i][1] = list.get(i).getSno();

data[i][2] = list.get(i).getName();

data[i][3] = list.get(i).getSex();

data[i][4] = list.get(i).getClassName();

}

// 将数据和表头封装

DefaultTableModel datamoModel = new DefaultTableModel(data, head);

// 将封装好的数据加载

table.setModel(datamoModel);

}

修改后的完整代码

package com.student.view;

import java.awt.EventQueue;

import java.sql.SQLException;

import java.util.List;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.border.EmptyBorder;

import javax.swing.table.DefaultTableModel;

import com.student.model.Student;

import com.student.service.StudentService;

import javax.swing.JLabel;

import javax.swing.JTextField;

import javax.swing.JButton;

/*

* 项目名称:

*

* 文件名称为:ShowStudent.java

* 文件创建人:daxiang

*

* @author daxiang

* @version

* @time 6月22日 上午8:03:24

* @copyright daxiang

*/

public class ShowStudent extends JFrame {

private static final long serialVersionUID = 1L;

private JPanel contentPane;

private JTable table;

private JTextField textField;

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

ShowTable frame = new ShowTable();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the frame.

*/

public ShowStudent() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 724, 481);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

// 设置无布局

contentPane.setLayout(null);

// 创建滚动面板

JScrollPane scrollPane = new JScrollPane();

scrollPane.setBounds(27, 74, 603, 221);

contentPane.add(scrollPane);

// 创建表格

table = new JTable();

// 将表格加载到滚动面板

scrollPane.setViewportView(table);

try {

// 创建服务

StudentService service = new StudentService();

// 查询出所有学生

List list = service.getStudent();

// 装载数据

fillTable(list);

JLabel label = new JLabel("请输入学生姓名");

label.setBounds(53, 43, 123, 18);

contentPane.add(label);

textField = new JTextField();

textField.setBounds(190, 40, 169, 24);

contentPane.add(textField);

textField.setColumns(10);

JButton button = new JButton("查 找");

button.setBounds(394, 39, 113, 27);

contentPane.add(button);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

setVisible(true);

}

/**

* 表格装载数据

*

* @param list

*/

public void fillTable(List list) {

// 将默认的加载数据去掉,重新定义个表头

String[] head = new String[] { "序号", "学号", "姓名", "性别", "班级" };

// 创建一个二维数组,5表示列数

Object[][] data = new Object[list.size()][5];

// 遍历

for (int i = 0; i < list.size(); i++) {

data[i][0] = list.get(i).getId();

data[i][1] = list.get(i).getSno();

data[i][2] = list.get(i).getName();

data[i][3] = list.get(i).getSex();

data[i][4] = list.get(i).getClassName();

}

// 将数据和表头封装

DefaultTableModel datamoModel = new DefaultTableModel(data, head);

// 将封装好的数据加载

table.setModel(datamoModel);

}

}

(2)具体实现

按钮操作代码

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

try {

//获取查询数据

//textField.getText().trim()获取文本框数据并且去掉空格

List list1=service.getStudent(textField.getText().trim());

//装载到表格

fillTable(list1);

} catch (SQLException e1) {

e1.printStackTrace();

}

}

});

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。