J2SE图书管理系统(5)——图书类别查询功能

1.数据访问层:com.java.dao; 

在之前建好的BookTypeDao类里面增加一个查询的方法:

//图书类别查询的集合
	public ResultSet list(Connection con,BookType bookType) throws Exception{
		//动态结合,用StringBuffer比较好
		StringBuffer sb=new StringBuffer("select * from t_booktype");
		//sql语句查询,当条件有多个时,就用and暂时替代where
		if(StringUtil.isNotEmpty(bookType.getBookTypeName())){
			sb.append(" and bookTypeName like '%"+bookType.getBookTypeName()+"%'");
		}
		//调用replaceFirst方法将and替换掉
		PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst("and", "where"));
		return pstmt.executeQuery();
	}

 

 2.视图层:com.java.view;

然后在视图层里面写图书类别管理的界面,我们在view里面新建一个BookType_Manage_InterFrm类:

右键点击view包->new->Other->WindowBuilder->Swing Designer->JInternalFrame类;

建好之后在Designer上添加一些控件:

先将table重命名为bookTypeTable

然后写一个初始化表格的方法:

/**
	 * 初始化表格
	 * @param bookType
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	private void fillTable(BookType bookType){
		DefaultTableModel dtm=(DefaultTableModel) bookTypeTable.getModel();
		//表格清空,设置成0行
		dtm.setRowCount(0);
		//进行数据库连接
		Connection con=null;
		try {
			dbUtil.getCon();
			ResultSet rs=bookTypeDao.list(con, bookType);
			//进行数据遍历
			while(rs.next()){
				//定义集合
				Vector v=new Vector();
				v.add(rs.getInt("id"));
				v.add(rs.getString("bookTypeName"));
				v.add(rs.getString("bookTypeDesc"));
				dtm.addRow(v);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				//关闭数据库连接
				dbUtil.close(con);
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

在方法里调用:

 

再添加事件处理:在MainFrm窗口中 ,

右键图书类别维护->Add event handler->action->actionPerformed;

在系统自动生成的方法里面,添加如下代码:

测试检验:

 

而我们数据库中t_bookType表中是数据为:

可以看到已经把数据库中表的数据成功地导入出来了!

 

现在做查询功能:

先添加如上图所示的几个功能控件;

将文本框进行重命名为s_bookTypeName_Txt;

查询功能事件:

右键查询按钮->Add event handler->action->actionPerformed;

系统会自动在Source里面生成对应的方法:

这里我们在actionPerformed()方法里面写一个bookTypeSearchActionPerformed(e)方法,

将实现重置的代码写在这个方法里面,并将方法的定义写在系统自动生成的actionPerformed()方法的外部;

测试环节: 

可以看到查询成功! 

 

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值