⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 borrowbooklist.java

📁 是Eclipse web开发从入门到精通的源码
💻 JAVA
字号:
package library.book;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import java.util.Vector;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import library.hibernate.BookBrowse;
import library.main.HibernateUtil;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

public class BorrowBookList extends JFrame implements ActionListener {
	

	Container container;

	JPanel panel1, panel2;

	JLabel bookNameLabel, studentNameLabel;

	JTextField bookNameText, studentNameText;

	JButton searchButton, exitButton;

	JTable table = null;

	DefaultTableModel defaultModel = null;

	public BorrowBookList() {
		super("书籍借阅一览!");
		container = getContentPane();
		container.setLayout(new BorderLayout());
		//“书名”标签
		bookNameLabel = new JLabel("书名   ", JLabel.CENTER);
		//“借阅者”标签
		studentNameLabel = new JLabel("借阅者", JLabel.CENTER);
		//输入“书名”文本框
		bookNameText = new JTextField(15);
		//输入“学生姓名”文本框
		studentNameText = new JTextField(15);
		//“查询”按钮
		searchButton = new JButton("查询");
		//“退出”按钮
		exitButton = new JButton("退出");
		//为“查询”按钮增加监听者
		searchButton.addActionListener(this);
		//为“退出”按钮增加监听者
		exitButton.addActionListener(this);
		Box box1 = Box.createHorizontalBox();
		box1.add(studentNameLabel);
		box1.add(studentNameText);
		box1.add(searchButton);
		Box box2 = Box.createHorizontalBox();
		box2.add(bookNameLabel);
		box2.add(bookNameText);
		box2.add(exitButton);
		Box boxH = Box.createVerticalBox();
		boxH.add(box1);
		boxH.add(box2);
		boxH.add(Box.createVerticalGlue());
		panel1 = new JPanel();
		panel1.add(boxH);
		panel2 = new JPanel();
		String[] name = { "借阅者", "书名", "借阅日期", "还入日期", "备注" };
		String[][] data = new String[0][0];
		defaultModel = new DefaultTableModel(data, name);
		table = new JTable(defaultModel);
		table.setPreferredScrollableViewportSize(new Dimension(400, 80));
		JScrollPane s = new JScrollPane(table);
		panel2.add(s);
		container.add(panel1, BorderLayout.NORTH);
		container.add(panel2, BorderLayout.SOUTH);
	}

	/**
	 * 动作响应方法,查询所有图书的出借情况
	 * 
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
	 */
	public void actionPerformed(ActionEvent action) {
		if (action.getSource() == exitButton) {
			// 单击“退出”按钮,不作任何事情
			this.dispose();
		} else if (action.getSource() == searchButton) {
			String strSQL = " from BookBrowse";
			String strSql = null;
			if (studentNameText.getText().trim().equals("")
					&& bookNameText.getText().trim().equals("")) {
				// 无条件查询
				strSql = strSQL;
			} else if (studentNameText.getText().trim().equals("")) {
				// 按书名查询
				strSql = strSQL + " where bookName='"
						+ bookNameText.getText().trim() + "'";
			} else if (bookNameText.getText().trim().equals("")) {
				// 按学生姓名查询
				strSql = strSQL + " where studentName='"
						+ studentNameText.getText().trim() + "'";
			} else {
				// 按学生姓名和书名查询
				strSql = strSQL + " where studentName='"
						+ studentNameText.getText().trim() + "'and bookName='"
						+ bookNameText.getText().trim() + "'";
			}

			// 首先要删除table中的数据先:
			int rowCount = defaultModel.getRowCount() - 1;// 取得table中的数据行;
			int j = rowCount;
			for (int i = 0; i <= rowCount; i++) {
				defaultModel.removeRow(j);// 删除rowCount行的数据;
				defaultModel.setRowCount(j);// 重新设置行数;
				j = j - 1;
			}
			// 取得SessionFactory
			SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
			// 打开session
			Session session = sessionFactory.openSession();
			// 创建一个事务
			Transaction tx = session.beginTransaction();

			// 执行查询
			Query userList = session.createQuery(strSql);
			// 将查询结果放置到一个list链表中
			List list = userList.list();
			for (int index = 0; index < list.size(); index++) {
				Vector data = new Vector();
				BookBrowse book = (BookBrowse) list.get(index);
				data.addElement(book.getStudentName());
				data.addElement(book.getBookName());
				data.addElement(book.getBorrowDate());
				data.addElement(book.getReturnDate());
				data.addElement(book.getCom());
				defaultModel.addRow(data);
			}
			table.revalidate();
			// 事务提交
			tx.commit();
			// 关闭session
			session.close();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -