基于Javaswing+mysql+eclipse的【图书管理系统】
本项⽬为Java swing项⽬,在⼯作环境中基本使⽤不到,但是很多学校把这个当做编程⼊门的项⽬来做,故分享出本项⽬供初学者参考。
⼀、效果演⽰:
主要功能:
①基本数据维护:
图书类别管理 >> 图书类别添加、图书类别维护
图书管理 >> 图书添加、图书维护
②关于我们
1、登录界⾯
2、主界⾯:
3、图书类别维护
4、图书类别添加
5、图书维护
6、图书添加
7、关于我们
可全部缩*到左下⾓
⼆、核⼼代码:
1、Util包【存放数据库连接⼯具】
① DBTool(数据库连接⼯具类)
package cn.ac.azure.util;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
/**
* 数据库连接⼯具类
* @author 明⾦同学
*
*
*/
public class DBTool {
private static String driver;  //数据库驱动
private static String url;  //数据库连接地址
private static String user; //数据库连接⽤户
private static String password;  //数据库连接密码
static{
//新建⼀个properties,⽤于读取db.properties配置⽂件
Properties p=new Properties();
//新建⼀个字符串,保存配置⽂件的路径
String path="cn//ac//azure//util//db.properties";
try {
//调⽤Properties.load通过类加载获得配置⽂件的输⼊流
p.load(ClassLoader().getResourceAsStream(path));
//读取配置⽂件中的配置参数
Property("driver");  //获取驱动
Property("url");  //获取数据库连接地址
Property("user");  //获取数据库⽤户
Property("password");  //获取数据库密码
try {
//加载数据库驱动类到程序中
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("加载驱动失败",e);
}
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("不到配置⽂件",e);
}
}
/**
* 获取数据库连接
* @return 数据库连接对象
* @throws SQLException 提醒调⽤者捕获异常,并在finally中关闭关闭异常  */
javaswing酷炫界面public static Connection getConnetion() throws SQLException{
//通过DriverManager获得数据库连接
Connection(url, user, password);
}
/**
* 关闭数据库连接
* @param con
*/
public static void close(Connection con){
if(con!=null){ //如果数据连接不为空
try {
//关闭数据库连接
con.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("数据库关闭失败",e);
}
}
}
// /**
//  * 测试数据库连接⼯具是否可⽤
//  * @param args
//  */
// public static void main(String[] args) {
//  Connection con=null;
//  try {
//  Connetion();
//  System.out.println("数据库连接成功!");
/
/  System.out.println("数据库连接成功!");
//  } catch (SQLException e) {
//  System.out.println("数据库连接失败!");
//  e.printStackTrace();
//  }finally{
//  DBTool.close(con);
//  }
// }
}
② db.properties(配置⽂件)
2、model包【存放实体类】
① Book(图书实体类)
package cn.del;
/**
* 图书实体
* @author 明⾦同学
*
*/
public class Book {
private Integer id;  //图书id
private String bookName;  //图书名称
private String author;  //图书作者
private String sex;    //作者性别
private Float price;    //图书价格
private Integer bookTypeId;  //图书类别ID
private String bookTypeName;  //图书类别名称
private String bookDesc;  //图书描述
public Book() {
super();
}
public Book(Integer id, String bookName, String author, String sex, Float price, Integer bookTypeId,  String bookTypeName, String bookDesc) {
super();
this.id = id;
this.bookName = bookName;
this.author = author;
this.sex = sex;
this.price = price;
this.bookTypeId = bookTypeId;
this.bookTypeName = bookTypeName;
this.bookDesc = bookDesc;
}
public Integer getId() {
return id;
}
public void setId(Integer 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 String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
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;
}
@Override
public String toString() {
return "Book [测试=" + id + ", bookName=" + bookName + ", author=" + author + ", sex=" + sex + ", price=" + price    + ", bookTypeId=" + bookTypeId + ", bookTypeName=" + bookTypeName + ", bookDesc=" + bookDesc + "]"; }
}
② BookType(图书类别实体类)
package cn.del;
/**
* 图书类别实体
* @author 明⾦同学
*
*/
public class BookType {
private int id;  //定义ID
private String bookTypeName;  //定义图书类别名称
private String bookTypeDesc;  //定义图书类别描述
//⽆参构造器
public BookType() {
}
//有参构造函数
public BookType(String bookTypeName, String bookTypeDesc) {
super();
this.bookTypeName = bookTypeName;
this.bookTypeDesc = bookTypeDesc;
}
public BookType(int id, String bookTypeName, String bookTypeDesc) {
super();
this.id = id;
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;
}
@Override
public String toString() {
return "BookType [id=" + id + ", bookTypeName=" + bookTypeName + ", bookTypeDesc=" + bookTypeDesc + "]"; }
}
③ User(⽤户实体类)
package cn.del;
/**
* ⽤户实体
* @author 明⾦同学
*
*/
public class User {
private int id;              //⽤户id
private String username;    //⽤户名称
private String password;    //⽤户密码
public User() {
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
}
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。