图书类别添加Java_swing·图书管理系统项目回顾之主界面和图书类别添加

本文回顾了一个使用Java Swing开发的图书管理系统项目,详细介绍了主界面的构建过程,包括菜单栏的设置和各功能的实现。在图书类别添加功能上,讲述了从数据库建表、获取用户输入、数据有效性校验、数据库插入到反馈操作结果的完整流程。文章还提到了StrUtil工具类的创建,用于判断字符串是否为空,并展示了BookType类的封装以及DAO层的数据操作。
摘要由CSDN通过智能技术生成

swing图书管理系统项目视频来自这里

一.主界面MainFrm

主界面的布局应根据功能需求分析这一步确定,对于一个简单的图书管理系统来说,主要应实现两大类的功能:图书类别类的添加和维护,以及图书的添加和维护

即确定的项目功能菜单:

1.图书类别的添加

2.图书类别的维护

3.图书的添加

4.图书的维护

5.退出系统选项

6.关于作者[也即关于java1234.com]

实现步骤:创建主界面JFrame--->添加菜单栏 JMenuBar--->添加JMenu[分别命名为 基本数据维护,图书类别管理,图书管理,关于我们]--->添加JMenuItem[图书类别管理下两个:添加图书类别,图书类别维护;图书管理下两个:添加图书,图书维护;退出系统和关于java1234]

MainFrm中添加JDestop pane,方便显示各个功能界面

二.图书类别添加

图书类别添加功能总的设计思路是:获取用户输入--->向数据库插入数据--->返回操作信息(成功或失败)。

细化:

第一步,先数据库建表。创建db_book数据库,然后建表t_bookType,主要包含id,bookTypeName,bookTypeDesc三个字段,且id为主键。

第二步,获取用户输入。

1.获取用户输入后应该先判断插入的数据是否有效,就像登录验证时的判断一样,后续功能也会有类似判断语句,故此时我们可以考虑将实现判断输入是否为空的代码单独搞进StrUtil类,该类向外提供接口String str为带判断的字符串对象或Object对象变量名是否指向null

1 public class StrUtil {

2 public static boolean isEmpty(String str){

3 if("".equals(str)||str==null){

4 return true;

5 }

6

7 return false;

8 }

9

10 public static boolean isNotEmpty(String str){

11 if(!"".equals(str)&&str!=null){

12 return true;

13 }

14 return false;

15 }

16 }

2.封装bookType的属性和成员方法---BookType.java,至于为什么封装到回顾修改功能时再说。根据获取的用户输入创建bookType对象。

1 package com.java1234.model;

2

3 public class BookType {

4 private int id;

5 private String bookTypeName;

6 private String bookTypeDesc;

7

8 public BookType() {

9 super();

10 // TODO Auto-generated constructor stub

11 }

12 public int getId() {

13 return id;

14 }

15 public void setId(int id) {

16 this.id = id;

17 }

18 public BookType(int id, String bookTypeName, String bookTypeDesc) {

19 super();

20 this.id = id;

21 this.bookTypeName = bookTypeName;

22 this.bookTypeDesc = bookTypeDesc;

23 }

24 public BookType(String bookTypeName, String bookTypeDesc) {

25 super();

26 this.bookTypeName = bookTypeName;

27 this.bookTypeDesc = bookTypeDesc;

28 }

29 public String getBookTypeName() {

30 return bookTypeName;

31 }

32 public void setBookTypeName(String bookTypeName) {

33 this.bookTypeName = bookTypeName;

34 }

35 public String getBookTypeDesc() {

36 return bookTypeDesc;

37 }

38 public void setBookTypeDesc(String bookTypeDesc) {

39 this.bookTypeDesc = bookTypeDesc;

40 }

41 @Override

42 public String toString() {

43 return this.getBookTypeName();

44 }

45 }

第三步,向数据库插入数据

包com.java1234.dao下面的bookTypeDao.java中编写数据库插入数据的方法实现代码

1 public int bookTypeAdd(Connection conn, BookType bookType) throws Exception{

2

3 String sql = "insert into t_bookType values(null, ?, ?)";

4 PreparedStatement pst = conn.prepareStatement(sql);

5 pst.setString(1, bookType.getBookTypeName());

6 pst.setString(2, bookType.getBookTypeDesc());

7

8 return pst.executeUpdate();

9 }

添加按钮的事件监听器,返回操作结果信息

1 private void jb_bookTypeAddActionPerformed(java.awt.event.ActionEvent evt) {

2 String bookTypeName = bookTypeNameTxt.getText();

3 String bookTypeDesc = bookTypeDescArea.getText();

4

5 if(StrUtil.isEmpty(bookTypeName)){

6 JOptionPane.showMessageDialog(null, "图书类别名称不能为空");

7 return;

8 }

9

10 BookType bookType = new BookType(bookTypeName, bookTypeDesc);

11 Connection conn = null;

12 try {

13 conn = dbUtil.getCon();

14 if(1 == bookTypeDao.bookTypeAdd(conn, bookType)){

15 resertValues();

16 JOptionPane.showMessageDialog(null, "添加成功");

17 }else{

18 JOptionPane.showMessageDialog(null, "添加失败");

19 }

20 } catch (Exception e) {

21 JOptionPane.showMessageDialog(null, "添加失败");

22 e.printStackTrace();

23 }finally{

24 try {

25 dbUtil.conClose(conn);

26 } catch (Exception e) {

27 // TODO Auto-generated catch block

28 e.printStackTrace();

29 }

30 }

31 }

1 private void jb_resertActionPerformed(java.awt.event.ActionEvent evt) {

2 resertValues();

3 }

一定要注意驱动程序与数据库的连接的关闭操作,否则将耗费系统资源。

最后,在主界面的 添加图书类别 菜单项添加事件监听器

1 private void bt_AddActionPerformed(java.awt.event.ActionEvent evt) {

2 JIBookTypeAddInterFrm jiBookTypeAddInterFrm = new JIBookTypeAddInterFrm();

3 jiBookTypeAddInterFrm.setVisible(true);

4 this.table.add(jiBookTypeAddInterFrm);

5

6 }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值