java图书系统管理
来源:互联网 发布:怎样取个淘宝店名 编辑:程序博客网 时间:2024/06/13 18:14
* 1. 整个项目介绍*
主要是运用基础的java的crud知识,对于图书进行管理,内容包括用户登陆,管理界面的绘制,逻辑数据处理。
整个图书的部分包括:
图书类别添加
图书类别管理(删改查)
图书添加
图书管理(删改查)
用到的技术:java+mysql+windowbuilder
工具管理:
windowbuiler 下载:http://www.eclipse.org/windowbuilder/download.php (这里需要根据自己的实际情况选择合适的版本)
小图标下载网站 http://www.easyicon.net/
* 2. 整个项目构建*
* 3. DbUtil数据库工具类*
数据库的连接
package com.java1234.util;import java.sql.Connection;import java.sql.DriverManager;/** * 数据库工具类 * @author Administrator * */public class DbUtil { private String dbUrl="jdbc:mysql://localhost:3306/db_book"; // 数据库连接地址 private String dbUserName="root"; // 用户名 private String dbPassword="123456"; // 密码 private String jdbcName="com.mysql.jdbc.Driver"; // 驱动名称 /** * 获取数据库连接 * @return * @throws Exception */ public Connection getCon()throws Exception{ Class.forName(jdbcName); Connection con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword); return con; } /** * 关闭数据库连接 * @param con * @throws Exception */ public void closeCon(Connection con)throws Exception{ if(con!=null){ con.close(); } } public static void main(String[] args) { DbUtil dbUtil=new DbUtil(); try { dbUtil.getCon(); System.out.println("数据库连接成功!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("数据库连接失败"); } }}
* 4. 判断字符串是否为空*
/** * 字符串工具类 * @author Administrator * */public class StringUtil { /** * 判断是否是空 * @param str * @return */ public static boolean isEmpty(String str){ 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; } }}
* 5. 用户登录界面*
这里需要一个user的model.
主要的逻辑部分
//判断登录 try { Connection conn=DBUtil.getCon(); User currentUser=userdao.login(conn, user); if(currentUser!=null){ /*JOptionPane.showMessageDialog(null, "登录成功"); return ;*/ dispose(); new MainFrm().setVisible(true); }else{ JOptionPane.showMessageDialog(null, "用户名或者密码错误!"); return ; }
* 6. 图书管理主界面*
这里需要注意的有以下几个
新建一个JFrame,如果要是建立一个在窗体内部显示的窗口,那么就是需要新建 JInternalFrame
一般对于整个窗口的属性的一些设置
这里比较复杂一些,需要先建立一个scrollPane,然后再将table放在显示窗口部分,需要做一个新的panel的方式如下图所示
对于表格添加监听事件
* 7. 图书类别管理*
这里需要注意的是,图书类别和图书有一个外键关联,当图书类别下面有图书的时候,就不允许删除,所以这里需要做一个判断
int n=JOptionPane.showConfirmDialog(null, "确定要删除该记录吗?"); if(n==0){ Connection conn=null; try { conn=DBUtil.getCon(); boolean flag=bookdao.existBookByBookTypeId(conn, id); if(flag){ JOptionPane.showMessageDialog(null, "当前图书类别下有图书,不能删除此类别"); return; } int number=bkdao.deleteBookType(conn, id); if(number==1){ JOptionPane.showMessageDialog(null, "删除功能"); resetValue(); fillTable(new BookType()); }else{ JOptionPane.showMessageDialog(null, "删除失败"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { try { DBUtil.close(conn); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
8.改变默认字体
//改变系统默认字体 Font font = new Font("Dialog", Font.PLAIN, 12); java.util.Enumeration keys = UIManager.getDefaults().keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); Object value = UIManager.get(key); if (value instanceof javax.swing.plaf.FontUIResource) { UIManager.put(key, font); } }
9.其他需要注意的地方
主界面在调用的时候需要
//关于我们 AboutMe ab=new AboutMe(); ab.setVisible(true); table.add(ab);
设置文本域边框
// 设置文本域边框 booktypedesc.setBorder(new LineBorder(new java.awt.Color(127,157,185), 1, false));
退出界面
//退出登录 int result=JOptionPane.showConfirmDialog(null, "是否退出系统"); if(result==0){ dispose(); }
关于表格
需要注意的是vector在循环体的内部,而且需要注意字符串的拼接
具体的项目代码下载:
http://download.csdn.net/detail/hlfsunshine/9562274
- java图书系统管理
- 基于JAVA对象流写的图书进销存系统管理
- WindowsMobile系统管理java插件
- 学生系统管理(Java)
- java 女神系统管理②
- 系统管理
- 系统管理
- 系统管理
- 系统管理
- java-图书管理系统
- 我的java图书
- java图书资源下载
- java图书资源下载
- java图书资源下载
- java经典图书
- Java图书类
- java创建图书xml
- java-图书管理系统
- Spring中DI配合接口编程
- fmt:formatDate的输出格式详解
- URL和URI的区别
- 邮箱发送
- CF 632E Thief in a Shop
- java图书系统管理
- C# Access数据库增删查改的简单方法
- JSTL fmt:formatNumber日期、 数字、货币格式化
- Android显示系统设计框架介绍
- JS中的变量、作用域和内存问题
- 强大的提示控件TextInputLayout使用以及源码分析
- 编译原理-词法分析器-用高级语言实现词法分析器功能
- qtcretor中常用快捷键集合
- pl/sql NULL 语句