Mysql学习基于Swing+jdbc+mysql的Java图书管理系统保姆级教程
Posted 毛_三月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql学习基于Swing+jdbc+mysql的Java图书管理系统保姆级教程相关的知识,希望对你有一定的参考价值。
目录
代码加文字 10万 字左右 !!!
此图书馆里系统我花了大概一周的时间写出
本博客教程熬夜肝了大概三天三夜!!!
为了我的所有粉丝们都能从零基础上手,因此教程十分详细!
非常适合零基础新手小白。
而且我还配备了全部源码!
感谢一路上支持和不帮助我的人! 共勉~~~
零、项目效果预览及设计准备
项目效果预览
登录页面
图书管理系统主界面
关于我们
基本数据维护
图书类别添加
图书类别维护
图书添加
图书维护
安全退出
数据库架构设计
SQL源码
/*
SQLyog Ultimate v10.00 Beta1
mysql - 5.7.19 : Database - db_book
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`db_book` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `db_book`;
/*Table structure for table `t_book` */
DROP TABLE IF EXISTS `t_book`;
CREATE TABLE `t_book` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`bookName` VARCHAR(20) DEFAULT NULL,
`author` VARCHAR(20) DEFAULT NULL,
`sex` VARCHAR(10) DEFAULT NULL,
`price` float DEFAULT NULL,
`bookDesc` varchar(1000) DEFAULT NULL,
`bookTypeId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_t_book` (`bookTypeId`),
CONSTRAINT `FK_t_book` FOREIGN KEY (`bookTypeId`) REFERENCES `t_booktype` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
/*Data for the table `t_book` */
insert into `t_book`(`id`,`bookName`,`author`,`sex`,`price`,`bookDesc`,`bookTypeId`) values (1,'数据结构','王凯','男',80,'算法书籍',2),(2,'Java编程思想1','JJ1','女',111,'这个一本好书籍1',1),(3,'美女的生活1','呵呵2','女',121,'11112',2),(4,'java代码','风格','女',120,'是',1),(5,'Java','胡超','男',10,'好书',1),(6,'java编程思想','美女','女',100,'搜索',2),(7,'数据库','胡超','男',100,'好书',1),(8,'算法设计','普通人','男',60,'算法书',1),(9,'算法','许昌人','男',45,'废人的书',1),(10,'操作系统','超哥','男',60,'超级牛逼书',1),(11,'计算机网络','超超','男',80,'牛逼牛逼',1),(12,'计算机网络','毛毛','男',90,' 超哥厉害',2),(13,'python','凤凤','女',70,'2好书',2),(14,'算法之道','圆圆','女',9999,'ACM铜牌大佬编写!!!',17);
/*Table structure for table `t_booktype` */
DROP TABLE IF EXISTS `t_booktype`;
CREATE TABLE `t_booktype` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bookTypeName` varchar(20) DEFAULT NULL,
`bookTypeDesc` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;
/*Data for the table `t_booktype` */
insert into `t_booktype`(`id`,`bookTypeName`,`bookTypeDesc`) values (1,'计算机类2','计算机类书籍3'),(2,'计算机','操作系统'),(15,'计算机 ','数据结构'),(17,'算法类','算法很重要!!');
/*Table structure for table `t_user` */
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(20) DEFAULT NULL,
`password` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*Data for the table `t_user` */
insert into `t_user`(`id`,`userName`,`password`) values (1,'huchao','10428376');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
表 架构设计
项目目录
项目工具类代码配置
DbUtil配置
package com.java.util;
import java.sql.Connection;
import java.sql.DriverManager;
/*
* 数据库工具类
* @author Administrator
* 自动导入类ctrl shift + o
*
* */
public class DbUtil {
private String dbUrl="jdbc:mysql://localhost:3306/db_book?useUnicode=true&characterEncoding=utf8&&useSSL=false&serverTimezone = Asia/Shanghai ";
private String duUsername="root"; //用户
private String dbPassword="10428376"; //密码
private String jdbcName="com.mysql.jdbc.Driver"; //驱动名称
/*
* 获取数据库连接
* @return
* @throws Exception
* */
public Connection getCon() throws Exception {
Class.forName(jdbcName);
Connection con= DriverManager.getConnection(dbUrl, duUsername, 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: handle exception
e.printStackTrace();
System.out.println("数据库连接失败!");
}
}
}
StringUtil配置
package com.java.util;
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;
}
}
}
所需工具
swing插件之可视化开发工具windowbuilder
swing插件之可视化开发工具windowbuilder
Eclipse GUI插件WindowBuilder安装
Eclipse GUI插件WindowBuilder安装
Eclipse
JDK
jdk1.8.0_221
SQLyog
jar包
mysql-connector-java-5.1.7-bin.jar
ER图
一、登录功能实现
管理员登录功能实现
小图标下载网站推荐:http://www.easyicon.net/
Java 开发统一环境搭建:http://www.java1234.com/a/kaiyuan/java/2013/0419/228.html
类的备注快捷方式
/** enter
Main 方法快捷方式
main alt+/
自动提示
alt+/
提示报错
ctrl+1
输出语句快捷方式
syso alt+/
弹出菜单快捷方式 alt+shift+s
自动引入包 ctrl+shift+o
代码整体往前:shift+tab
进入实现 按住 ctrl 鼠标移动上去,点击
//改变系统默认字体
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);
}
}
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
resetValueActionPerformed(arg0);
}
});
/**
* 重置是事件处理
* @param evt
*/
private void resetValueActionPerformed(ActionEvent evt) {
this.userNameTxt.setText("");
this.passwordTxt.setText("");
}
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
loginActionPerformed(arg0);
}
}
/**
* 登录事件处理
* @param ev
*/
private void loginActionPerformed(ActionEvent ev) {
String username = this.userNameTxt.getText();
String password =new String(this.passwordTxt.getPassword());
if (StringUtil.isEmpty(username)) {
JOptionPane.showMessageDialog(null, "用户名不能为空!");
}
if (StringUtil.isnotEmpty(password)) {
JOptionPane.showMessageDialog(null,"密码不能为空!");
}
}
package com.java1234.util;
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;
}
}
}
数据库连接
//从父类生成构造方法
public User() {
super();
// TODO Auto-generated constructor stub
}
//使用字段生成构造方法
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
LogOnFrm.java
/**
* 登录事件处理
* @param ev
*/
private void loginActionPerformed(ActionEvent ev) {
String username = this.userNameTxt.getText();
String password =new String(this.passwordTxt.getPassword());
以上是关于Mysql学习基于Swing+jdbc+mysql的Java图书管理系统保姆级教程的主要内容,如果未能解决你的问题,请参考以下文章
Java swing项目-图书管理系统(swing+mysql+jdbc)