对于每一个涉及数据库操作的功能,在其代码编写的过程中,都需要先写一个dao类,通过dao类来获得一个util类的一个数据库连接,然后再在dao类中编写sql语句,进而实现数据的获取与更新。
1.首先通过windowbuilder获取一个“图书类别添加”的点击事件
public void actionPerformed(ActionEvent e) {
BookTypeAddInterFrm bookTypeAddInterFrm=new BookTypeAddInterFrm();
bookTypeAddInterFrm.setVisible(true);
table.add(bookTypeAddInterFrm);
2.由此点击事件可跳转至另一窗体,关于添加图书类别的相关方法如下:
* 图书类别添加事件处理
* @param e
*/
private void bookTypeAddActionPerformed(ActionEvent e) {
String bookTypeName= this.bookTypeNameTxt.getText();
String bookTypeDesc= this.bookTypeDescTxt.getText();
if(StringUtil.isEmpty(bookTypeName)){
JOptionPane.showMessageDialog(null, "图书类别不能为空");//第一个参数表示的是"父窗体"
return;
}
BookType bookType = new BookType(bookTypeName,bookTypeDesc); //如果对象不为空,就将其封装为一
个“图书类型”对象
Connection con=null;
try {
con=dbUtil.getCon();
int n=bookTypeDao.add(con, bookType);
if(n==1){
JOptionPane.showMessageDialog(null, "图书类别添加成功");
resetValue();
}else{
JOptionPane.showMessageDialog(null, "图书类别添加失败");
}
} catch (Exception e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(null, "图书类别添加失败");
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e2) {
}
}
}
/**
* 重置事件处理
* @param e
*/
private void resetValueActionPerform(ActionEvent e) {
this.resetValue();
}
/**
* 重置表单
*/
private void resetValue(){
this.bookTypeNameTxt.setText("");
this.bookTypeDescTxt.setText("");
}
3.关于在Dao文件中数据添加的操作,具体的方法实现如下
/**
* 图书类别添加
* @param con
* @param bookType
* @return
* @throws Exception
*/
public int add(Connection con, BookType bookType)throws Exception{
String sql="insert into t_bookType value(null,?,?)";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, bookType.getBookTypeName());
pstmt.setString(2, bookType.getBookTypeDesc());
return pstmt.executeUpdate() ;
}