7、图书添加功能
1、新建圖書信息表t_book
添加外鍵,t_book的bookTypeId外鍵關聯于t_bookType的主鍵id
2、新建Book的實體
public class Book {private int id;//編號private String bookName;//圖書名稱private String author;//作者private String sex;//性別private Float price;//價格private Integer bookTypeId;//圖書類別Idprivate String bookTypeName;//圖書類別名稱private String bookDesc;//描述public Book(String bookName, String author, String sex, Float price, Integer bookTypeId, String bookDesc) {super();this.bookName = bookName;this.author = author;this.sex = sex;this.price = price;this.bookTypeId = bookTypeId;this.bookDesc = bookDesc;}public Book(int id, String bookName, String author, Float price, Integer bookTypeId, String bookTypeName,String bookDesc) {super();this.id = id;this.bookName = bookName;this.author = author;this.price = price;this.bookTypeId = bookTypeId;this.bookTypeName = bookTypeName;this.bookDesc = bookDesc;}public Book() {super();// TODO Auto-generated constructor stub}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName = bookName;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public Float getPrice() {return price;}public void setPrice(Float price) {this.price = price;}public Integer getBookTypeId() {return bookTypeId;}public void setBookTypeId(Integer bookTypeId) {this.bookTypeId = bookTypeId;}public String getBookTypeName() {return bookTypeName;}public void setBookTypeName(String bookTypeName) {this.bookTypeName = bookTypeName;}public String getBookDesc() {return bookDesc;}public void setBookDesc(String bookDesc) {this.bookDesc = bookDesc;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}}3、新建book的數據操作Dao類,BookDao.java
/*** 圖書Dao類* @author Administrator**/ public class BookDao {/*** 圖書添加* @param con* @param book* @return* @throws Exception */public int add(Connection con,Book book) throws Exception{String sql="insert into t_book values(null,?,?,?,?,?,?)";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, book.getBookName());pstmt.setString(2, book.getAuthor());pstmt.setString(3, book.getSex());pstmt.setFloat(4, book.getPrice());pstmt.setInt(5, book.getBookTypeId());pstmt.setString(6, book.getBookDesc());return pstmt.executeUpdate();} }4、新建圖書添加界面BookAddInterFrm.java
修改布局:
添加JLabel,JTextField,JRadioButton,JTextArea,JButton組件
重命名組件名稱
5、新建“圖書管理-添加”事件
public void actionPerformed(ActionEvent e) {BookAddInterFrm bookAddInterFrm=new BookAddInterFrm();bookAddInterFrm.setVisible(true);table.add(bookAddInterFrm); }6、封裝一個方法,把圖書類別的數據寫入進去
/*** 初始化圖書類別下拉框*/private void fillBookType(){Connection con=null;BookType bookType=null;try{con=dbUtil.getCon();ResultSet rs=bookTypeDao.list(con, new BookType());while(rs.next()){bookType=new BookType();bookType.setId(rs.getInt("id"));bookType.setBookTypeName(rs.getString("bookTypeName"));this.bookTypeJcb.addItem(bookType);}}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.close(con);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}調用方法
fillBookType();在BookType.java里添加重寫toString的代碼,不然顯示如圖
7、實現添加功能
給添加按鈕添加事件
public void actionPerformed(ActionEvent e) {BookAddActionPerformed(e); }新建重置表單方法
/*** 重置表單*/private void resetValue() {this.bookNameTxt.setText("");this.authorTxt.setText("");this.priceTxt.setText("");this.manJrb.setSelected(true);this.bookDescTxt.setText("");if(this.bookTypeJcb.getItemCount()>0){this.bookTypeJcb.setSelectedIndex(0);}} /*** 圖書添加事件處理* @param e*/ private void BookAddActionPerformed(ActionEvent evt) {String bookName=this.bookNameTxt.getText();String author=this.authorTxt.getText();String price=this.priceTxt.getText();String bookDesc=this.bookDescTxt.getText();if(StringUtil.isEmpty(bookName)){JOptionPane.showMessageDialog(null, "圖書名稱為空!");return;}if(StringUtil.isEmpty(author)){JOptionPane.showMessageDialog(null, "作者為空!");return;}if(StringUtil.isEmpty(price)){JOptionPane.showMessageDialog(null, "價格為空!");return;}String sex="";if(manJrb.isSelected()){//如果選擇男sex="男";}else if(femaleJrb.isSelected()){sex="女";}BookType bookType=(BookType)bookTypeJcb.getSelectedItem();int bookTypeId=bookType.getId();Book book=new Book(bookName,author,sex,Float.parseFloat(price),bookTypeId,bookDesc);Connection con=null;try{con=dbUtil.getCon();int addNum=bookDao.add(con, book);if(addNum==1){JOptionPane.showMessageDialog(null, "添加成功");resetValue();}else{JOptionPane.showMessageDialog(null, "添加失敗");}}catch(Exception e){e.printStackTrace();JOptionPane.showMessageDialog(null, "添加失敗");}finally{try {dbUtil.close(con);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }8、實現重置功能
新建重置按鈕事件
總結
- 上一篇: 6、图书类别修改删除功能
- 下一篇: 8、图书查询功能