Listlist=newArrayList〈BookType>();
Stringsql=”select*frombooktypewheretypenamelike’%”+type+"%'";
ResultSetrs=Dao。
executeQuery(sql);
try{
while(rs.next()){
BookTypebt=newBookType();
bt。
setId(rs。
getInt(”id"));
bt.setTypename(rs。
getString(”typename”));
list。
add(bt);
}
}catch(Exceptione){
e.printStackTrace();
}
Dao.close();
returnlist;
}
3、对其进行添加操作
主要代码如下:
publicstaticintinsertBookType(Stringbtno,Stringtypename){
inti=0;
try{
Stringsql=”insertintobooktypevalues(”+btno+",'"+typename+"’)”;
i=Dao。
executeUpdate(sql);
}catch(Exceptione){
e.printStackTrace();
}
Dao.close();
returni;
}
4、对其进行修改操作
代码同3,具体sql语句如下:
Stringsql=”updatebooktypesetid=”+btno+”,typename=’”+typename+”’whereid=”+btno+"";
5、对其进行删除操作
代码同3,具体sql语句如下:
Stringsql="deletefrombooktypewhereid="+id+”";
2.2。
3图书类型管理模块功能的设计与实现
本模块实现的功能如下:
1、获取数据库中图书类型表中的数据到JTable中,并添加鼠标监听如上图2.2.1所示。
主要代码为:
Object[][]results=getSelect(BookTypeDao.selectBookType());//显示图书类别信息
//添加鼠标监听
classTableListenerextendsMouseAdapter{
@Override
publicvoidmouseClicked(MouseEvente){
intselRow=jt.getSelectedRow();//获取选择表中的某一行保存信息
btnojtf。
setText(jt.getValueAt(selRow,0).toString()。
trim());//获取列并赋值
btnamejtf。
setText(jt。
getValueAt(selRow,1).toString()。
trim());
}
}
2、对查询按钮添加监听器(SelectAction),对图书类别进行模糊查询,如图2.2.2所示。
图2。
2.2查询功能的实现
主要代码为:
classSelectActionimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringbtname=btjtf。
getText()。
trim();
BookTypeDao.selectBookTypeName(btname);
Object[][]results=getSelect(BookTypeDao.selectBookTypeName(btname));
jt=newJTable(results,readersearch);
jsp。
setViewportView(jt);
jt。
setAutoResizeMode(JTable。
AUTO_RESIZE_OFF);
}
}
3、对添加按钮添加监听器(AddAction),向图书类别表中添加新的图书类别信息,例如:
添加编号为“8”,名称为“化学”的图书类别信息,如图2.2。
3
(1)所示。
4、
图2。
2.3
(1)添加成功
更新后,如图2.2.3
(2)所示。
图2.2。
3
(2)添加功能的实现
主要代码为:
classAddActionimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
if(btnojtf。
getText()。
length()==0){
JOptionPane。
showMessageDialog(null,"图书类型编号不能为空!
");
return;
}
if(btnamejtf。
getText().length()==0){
JOptionPane。
showMessageDialog(null,”图书类型名称不能为空!
");
return;
}
Stringbtno=btnojtf。
getText()。
trim();
Stringbtname=(String)btnamejtf。
getText()。
trim();
inti=BookTypeDao.insertBookType(btno,btname);
if(i==1){
JOptionPane。
showMessageDialog(null,”添加成功”);
Object[][]results=getSelect(BookTypeDao.selectBookType());
jt=newJTable(results,readersearch);
jsp.setViewportView(jt);
jt。
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
}
}
}
5、对修改按钮添加监听器(UpdateAction),修改图书类别表中信息,例如将刚刚添加的“化学”修改为“生物",如图2。
2。
4
(1)所示.
图2。
2.4
(1)修改成功
更新后,如图2。
2。
4
(2)所示.
图2。
2。
4
(2)修改功能的实现
主要代码为:
classUpdateActionimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringbtno=btnojtf.getText().trim();
Stringbtname=btnamejtf。
getText()。
trim();
inti=BookTypeDao。
updateBookType(btno,btname);
System.out。
println(i);
if(i==1){
JOptionPane。
showMessageDialog(null,”修改成功");
Object[][]results=getSelect(BookTypeDao。
selectBookType());
jt=newJTable(results,readersearch);
jsp。
setViewportView(jt);
jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
}
}
}
6、对删除按钮添加监听器(DeleteAction),删除图书类别表中信息,例如将刚刚修改的“生物”删除,如图2.2.5
(1)所示。
图2。
2。
5
(1)删除成功
更新后,如图2。
2。
5
(2)所示。
图2。
2。
5
(2)删除功能的实现
主要代码为:
classDeleteActionimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto—generatedmethodstub
Stringbtno=btnojtf。
getText().trim();
inti=BookTypeDao.deleteBookType(btno);
System。
out.println(i);
if(i==1){
JOptionPane.showMessageDialog(null,”删除成功!
");
Object[][]results=getSelect(BookTypeDao.selectBookType());
jt=newJTable(results,readersearch);
jsp.setViewportView(jt);
jt.setAutoResizeMode(JTable。
AUTO_RESIZE_OFF);
}
}
}
6、对退出按钮添加监听器(OutAction),实现关闭程序功能。
主要代码如下:
classOutActionimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto—generatedmethodstub
setVisible(false);
}
2.3用户添加模块的实现
2。
3。
1用户添加模块界面的设计与实现
用户添加模块界面的实现分为两个面板,用户添加信息面板(jp1,一个2行两列的表格)位于整个JFrame的中部,按钮面板(buttonjp)位于整个JFrame的南部。
如图2.3.1所示.
图2。
3。
1用户添加模块界面
主要代码如下:
jp1.setLayout(newGridLayout(2,2));
this.add(jp1,BorderLayout。
CENTER);
this。
add(buttonjp,BorderLayout。
SOUTH);
2。
3.2用户添加模块数据操作的设计与实现
用户添加模块需要进行的数据操作为向数据库的用户表中添加用名和密码。
主要代码如下:
publicstaticintinsertUser(Stringname,Stringpwd){
inti=0;
try{
Stringsql="insertintousers(name,password)values('”+name+"’,'"+pwd+”’)”;
i=Dao.executeUpdate(sql);
}catch(Exceptione){
e。
printStackTrace();
}
Dao。
close();
retur