BookManager (4)--->图书类别添加功能

1.实体层:com.java.model;

首先在实体层model里面添加图书类别BookType的实体信息,包括get、set方法和构造方法:

package model;


public class BookType {
	
	//编号
	private int id;

	//图书类别名称
	private String bookTypeName;
	
	//图书类别描述
	private String bookTypeDesc;

	
	
	public BookType() {
		super();
		// TODO Auto-generated constructor stub
	}

	public BookType(String bookTypeName, String bookTypeDesc) {
		super();
		this.bookTypeName = bookTypeName;
		this.bookTypeDesc = bookTypeDesc;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getBookTypeName() {
		return bookTypeName;
	}

	public void setBookTypeName(String bookTypeName) {
		this.bookTypeName = bookTypeName;
	}

	public String getBookTypeDesc() {
		return bookTypeDesc;
	}

	public void setBookTypeDesc(String bookTypeDesc) {
		this.bookTypeDesc = bookTypeDesc;
	}
}

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

我们先在数据库db_book里面新建一个t_booktype表,存储了图书类别的数据: 

在数据访问层Dao里面新建图书类别的数据访问类BookTypeDao,主要包含了添加图书类别的信息:

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import model.BookType;

/**
 * 图书类别Dao类
 * @author 123
 *
 */

public class BookTypeDao {
	
	/**
	 * 图书类别添加
	 * @param con
	 * @param bookType
	 * @return
	 * @throws Exception
	 */
	
	//传两个参数
	public int add_book(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();
	}
}

3.工具类:com.java.util;

在工具类里面写上一个判断字符串是否为空的StringUtil类:

package util;

/**
 * 字符串工具类
 * @author 123
 *
 */
public class StringUtil {
	/**
	 * 判断是否是空
	 * @param str
	 * @return
	 */
	public static boolean isEmpty(String str) {
		//trim() 函数移除字符串两侧的空白字符或其他预定义字符。
		if(str == null || "".equals(str.trim())) {
			return true;
		}else {
			return false;
		}
	}
	
	/**
	 * 判断是否不是空
	 * @param str
	 * @return
	 */
	public static boolean isNotEmpty(String str) {
		//注意这里的逻辑判断条件
		if(str != null && "".equals(str.trim())) {
			return true;
		}else {
			return false;
		}
	}
}

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

首先图书类别添加的窗体也是一个内部窗体,我们在view里面新建一个BookTypeAddInterFrm类:

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

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

这里都是一些基本的控件和按钮,图标可以用我们之前的images包里面导入的图标;

给JTextField框进行重命名,命名为:bookTypeNameTxt;

给JTextArea框进行重命名,命名为:  bookTypeDescTxt;

控件功能代码:

(1) 首先是重置按钮功能:

右键重置按钮->Add event handler->action->actionPerformed;

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

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

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

 

 用文本自带的setText方法将框里面的内容设置为空!这样就可以了; 

然后我们在 MainFrm 这边在图书类别上面添加一个事件:

 

 然后我们可以看到这个窗口弹出:

最后我们加一行设置边框的代码(美化边框):bookTypeDescTxt.setBorder(new LineBorder(new java.awt.Color(127,157,185),1,false));

(2)添加功能按钮:

右键添加按钮->Add event handler->action->actionPerformed;

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

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

 

 

在接下来的代码中还需要准备两步操作:

 然后补充一下代码:

//添加事件处理
	private void bookTypeAddActionPerformed(ActionEvent evt) {
		// TODO Auto-generated method stub
		//从界面获取用户天的图书类别名称和图书类别描述信息
		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_book(con, bookType);
			if(n == 1) {
				JOptionPane.showMessageDialog(null, "图书类别添加成功!");
				resetValue();//添加成功后要立即将框中的内容重置
			}else {
				JOptionPane.showMessageDialog(null, "图书类别添加失败!");
			}	
		}catch(Exception e) {
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "图书类别添加失败!");
		}finally {
			try {
				dbUtil.closeCon(con);//最后要关闭数据库连接
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

 (3)测试环节:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值