实现图书类别修改功能

1、添加修改的Dao方法

/*** 图书类别Dao类* @author Administrator**/
public class BookTypeDao {/*** 图书类别添加* @param con* @param bookType* @return* @throws Exception*/public static int add(Connection con,BookType bookType)throws Exception{String sql="insert into t_bookType values(null,?,?)";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, bookType.getBookTypeName());pstmt.setString(2, bookType.getBookTypeDesc());return pstmt.executeUpdate();//执行}/*** 查询图书类别集合* @param con* @param bookType* @return* @throws Exception*/public ResultSet list(Connection con,BookType bookType)throws Exception{StringBuffer sb=new StringBuffer("select * from t_bookType");//条件是动态的,用拼接的方式//如果不为空,动态添加if(StringUtil.isNotEmpty(bookType.getBookTypeName())){sb.append(" and bookTypeName like'%"+bookType.getBookTypeName()+"%'");}PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst("and", "where"));//先转换成字符串,调用字符串方法把and换位wherereturn pstmt.executeQuery();}
-----------------------------------------新添加----------------------------------  /*** 删除图书类别* @param con* @param id* @return* @throws Exception*/public int delete(Connection con,String id)throws Exception{String sql="delete from t_bookType where id=?";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, id);return pstmt.executeUpdate();}/*** 修改图书类别* @param con* @param bookType* @return* @throws Exception*/public int update(Connection con,BookType bookType)throws Exception{String sql="update t_bookType set bookTypeName=?,bookTypeDesc=? where id=?";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, bookType.getBookTypeName());pstmt.setString(2, bookType.getBookTypeDesc());pstmt.setInt(3, bookType.getId());return pstmt.executeUpdate();}---------------------------------------------------------------------------------
}

2、在BookTypeManageInterFrm添加修改界面

添加JPanel组件:修改border的属性,改为TitledBorder。修改布局为GroupLayout

在JPanel组件里添加JLabel,JTextField,JButton,JTextArea组件

把显示id的JTextField设置为不可修改,重命名为idTxt

把显示图书类别名称的JTextField重命名为bookTypeNameTxt

把显示描述的JTextField重命名为bookTypeDescTxt


给描述的JTextField添加边框

//设置文本域边框bookTypeDescTxt.setBorder(new LineBorder(new java.awt.Color(127,157,185),1,false));

3、实现点击图书类别,表单显示类别的详细信息的功能

给bookTypeTable添加鼠标点击事件

@Override
public void mousePressed(MouseEvent e) {bookTypeTableMousePressed(e);
}
/*** 表格行点击事件处理* @param e*/private void bookTypeTableMousePressed(MouseEvent evt) {int row=bookTypeTable.getSelectedRow();//获取选中行,返回行号idTxt.setText((String)bookTypeTable.getValueAt(row, 0));//获取第几行,第几列的值bookTypeNameTxt.setText((String)bookTypeTable.getValueAt(row, 1));bookTypeDescTxt.setText((String)bookTypeTable.getValueAt(row, 2));}

4、实现修改按钮功能

修改按钮添加事件

public void actionPerformed(ActionEvent e) {bookTypeUpdateActionEvent(e);}

封装一个方法,用来重置数据

/*** 重置表单*/private void resetValue(){this.idTxt.setText("");this.bookTypeNameTxt.setText("");this.bookTypeDescTxt.setText("");}
/*** 图书类别修改事件处理* @param evt*/private void bookTypeUpdateActionEvent(ActionEvent evt) {//获取值String id=idTxt.getText();String bookTypeName=bookTypeNameTxt.getText();String bookTypeDesc=bookTypeDescTxt.getText();//判断id,用户什么都没点,不可修改if(StringUtil.isEmpty(id)){JOptionPane.showMessageDialog(null, "请选择一个图书类!");}BookType bookType=new BookType(Integer.parseInt(id),bookTypeName,bookTypeDesc);Connection con=null;try{con=dbUtil.getCon();int modifyNum=bookTypeDao.update(con, bookType);if(modifyNum==1){JOptionPane.showMessageDialog(null, "修改成功");this.resetValue();//修改成功后,重置数据this.fillTable(new BookType());//刷新表格table的数据}else{JOptionPane.showMessageDialog(null, "修改失败");}}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.close(con);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


5、实现图书类别删除功能

新建一个删除按钮事件

public void actionPerformed(ActionEvent e) {bookTypeDeleteActionEvent(e);}
/*** 图书类别删除事件处理* @param e*/private void bookTypeDeleteActionEvent(ActionEvent evt) {String id=idTxt.getText();if(StringUtil.isEmpty(id)){JOptionPane.showMessageDialog(null, "请选择要删除的记录");return;}int n=JOptionPane.showConfirmDialog(null, "是否删除该记录");if(n==0){Connection con=null;try{con=dbUtil.getCon();int deleteNum=bookTypeDao.delete(con, id);if(deleteNum==1){JOptionPane.showMessageDialog(null, "删除成功");this.resetValue();this.fillTable(new BookType());}else{JOptionPane.showMessageDialog(null, "删除失败");}}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.close(con);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}


6、图书类别修改删除功能相关推荐

  1. 使用EasyUI实现修改删除功能

    目录 前言: 这次的功能是基于上一次的项目做的,如果有不懂的可以看上一节使用EasyUI实现增加功能 一:前台开发 二:后台开发 三:效果图 距离使用EasyUI完成整个后台.书本管理项目只剩这最后一 ...

  2. 5、图书类别查询功能

    1.添加查询的Dao方法 在BookTypeDao添加代码 /*** 图书类别Dao类* @author Administrator**/ public class BookTypeDao {/*** ...

  3. Java实战之图书管理系统(swing版)(5)——图书类别添加界面及功能实现

    在上一节中完成了主界面的创建,那么在本节中将实现图书类别的添加功能,BookTypeAddPanel.java类文件在上一节中已经创建成功,那么直接在该文件内写代码即可. 由于从本节开始使用了数据库, ...

  4. 9、图书修改,删除功能

    1.添加图书修改,删除的Dao代码 /*** 图书Dao类* @author Administrator**/ public class BookDao {/*** 图书添加* @param con* ...

  5. 用Python做一个控制台程序实现图书管理器的简单功能,例如添加图书、查询库里的图书、删除图书、修改书籍信息、显示书籍信息,或者是借阅/归还...

    为了实现图书管理器的功能,需要考虑如下几点: 需要定义一个图书类,包含书名.作者.出版社.借阅状态.借阅人等属性,可以使用类的构造函数来初始化这些属性. 需要定义一个图书管理器类,包含一个用于存储图书 ...

  6. Java实战之图书管理系统(JavaFX版)(7)——图书类别维护界面及功能实现

    本节概要 在上一节中实现了图书类别的添加,而在本节将实现图书界面的维护,即查询.修改和删除图书记录. 创建实体类 由于要将数据库查询到的记录显示到表格中,但是JavaFX中表格显示数据的类型不同,因此 ...

  7. 4、图书类别添加功能

    1.新建图书类别表t_bookType 2.新建图书类别实体,BookType.java /*** 图书类别实体* @author Administrator**/ public class Book ...

  8. JavaWeb学习-案例练习-图书管理后台-5- 完成图书删除功能

    继续来做案例练习,本篇学习如何删除图书,也就是在list.jsp页面的图书列表中,点击删除按钮,这条图书记录信息就从列表消失,然后相当于刷新当前页面,列表就少了一条图书记录. 1.需求场景 例如把Py ...

  9. 基于IO流读取的 完成 用户登录,注册,修改,查看所有用户,删除功能

    Controller import java.util.Scanner;/*** 视图层* 完成用户登录,注册,修改,删除功能*/ public class Controller {/*** 字符输入 ...

最新文章

  1. c# 通过字体对话框获取字体名称和字体大小_【插件】PS、AI、ID都能用的字体管理插件...
  2. 《C和C++代码精粹》——2.5 普通指针
  3. 基于STM32F4移植W5500官方驱动库ioLibrary_Driver(转)
  4. Big Sur更新下载过慢?亲测!满速下载macOS原版系统
  5. ThinkPHP系的两个东东OneThink和ThinkCMF
  6. eclipse导入项目发生的Android Private Libraries丢失
  7. Python 数据类型 布尔类型
  8. Android 获取静态上下文(Application)
  9. 基于bitbucket中央库的Git操作
  10. 【Python】安装方法小结
  11. Windows 安装maven
  12. 2018深圳杯数学建模A题--人才吸引力评价模型研究
  13. bootbox api
  14. python使用matplotlib可视化柱状图(bar plot)、自定义柱状图的填充色、柱状图柱体的边缘色、配置字体使用中文轴标签
  15. go sum: verifying module: checksum mismatch
  16. Spring中实现HTTP缓存
  17. python制作u盘病毒_Python-记一次U盘中病毒及文件找回
  18. [二分+最大流]51 Nod——1757 大灾变
  19. CodeWarrior V5.1破解license+教程
  20. 2022-2028全球小型建筑设备行业调研及趋势分析报告

热门文章

  1. Py之GUI之PyQt:PyQt5的简介、入门、安装(QtCreator和QtDesigner)图文教程之详细攻略
  2. wkhtmltopdf:wkhtmltopdf(将html转换成pdf的利器)简介、安装、使用方法详细攻略
  3. MongoDB数据库--扩展Base64,算法
  4. python登录网页版微信发送消息
  5. angularJs基础学习
  6. 命令模式——HeadFirst设计模式学习笔记
  7. 03构建之法阅读笔记之三
  8. STM32_DMA 标准初始化设置解释
  9. collections模块介绍
  10. 深入理解python特性_深入理解Python特性(7)