java+Mysql 图书管理系统(idea)

这篇具有很好参考价值的文章主要介绍了java+Mysql 图书管理系统(idea)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

部分界面截图

登录界面

注册界面

图书管理界面

关于我们界面

 部分代码

登录界面

数据库工具类


前言


jdk 版本:openjdk version "11.0.12"

MySql版本:5.7.40

加(vx:lixuanzi99313)帮调试 调试说明:远程协助

源代码:链接:https://github.com/lixuanzi/LibraryMansgementSystem

演示视频
【java+Mysql 图书管理系统 (idea) 附源码】 https://www.bilibili.com/video/BV1hx4y1u7af/?share_source=copy_web&vd_source=dd4a926a8cb08f13ae20e4d7331b51ca 

部分界面截图


登录界面

java+Mysql 图书管理系统(idea)

注册界面

java+Mysql 图书管理系统(idea)

图书管理界面

java+Mysql 图书管理系统(idea)

关于我们界面

java+Mysql 图书管理系统(idea)文章来源地址https://www.toymoban.com/news/detail-502730.html

 部分代码


登录界面

package com.lizixuan.ui;

import com.lizixuan.component.BackGroundPanel;
import com.lizixuan.util.JDBCUtils;
import com.lizixuan.util.PathUtils;
import com.lizixuan.util.ScreenUtils;
import com.lizixuan.verification.Login;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.sql.Connection;
import java.sql.SQLException;

public class ApplicationMainInterface {
    JFrame jFrame = new JFrame("图书管理系统");

    final int WIDTH = 600;
    final int HEIGHT = 400;

    // 组装视图
    public void init() throws Exception {
        // 设置窗口居中
        jFrame.setBounds((ScreenUtils.getScreenWidth() - WIDTH) / 2, (ScreenUtils.getScreenHeight() - HEIGHT) / 2, WIDTH, HEIGHT);
        // 设置大小固定
        jFrame.setResizable(false);
        jFrame.setIconImage(ImageIO.read(new File(PathUtils.getRealPath("favicon.png"))));

        // 设置窗口内容
        BackGroundPanel bgPanel = new BackGroundPanel(ImageIO.read(new File(PathUtils.getRealPath("bg.jpg"))));
        bgPanel.setBounds(0, 0, WIDTH, HEIGHT);
        // 组装登录
        Box vBox = Box.createVerticalBox();
        // 组装用户名
        Box uBox = Box.createHorizontalBox();
        JLabel uLabel = new JLabel("用户名:");
        JTextField uField = new JTextField(15);

        uBox.add(uLabel);
        uBox.add(Box.createHorizontalStrut(20));
        uBox.add(uField);

        // 组装密码
        Box pBox = Box.createHorizontalBox();
        JLabel pLabel = new JLabel("密    码:");
        JPasswordField pField = new JPasswordField(15);

        pBox.add(pLabel);
        pBox.add(Box.createHorizontalStrut(20));
        pBox.add(pField);

        // 组装按钮
        Box btnBox = Box.createHorizontalBox();
        JButton loginBtn = new JButton("登录");
        JButton regisBtn = new JButton("注册");
        JButton JDBCBtn = new JButton("测试数据库连接");

        // 对登录按钮监听
        loginBtn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 获取输入的内容
                String username = uField.getText().trim();
                String password = pField.getText().trim();

                // 初始化 Login
                Login login = new Login();
                login.loginVer(username);
                if (username.equals("admin") && password.equals("123456")) {
                    JOptionPane.showMessageDialog(jFrame, "恭喜,尊贵的超级用户 Admin 登录成功!");
                    try {
                        new ManagerInterface().init("Admin");
                    } catch (Exception ex) {
                        throw new RuntimeException(ex);
                    }
                    jFrame.dispose();
                } else if (password.equals(login.password)) {
                    JOptionPane.showMessageDialog(jFrame, "恭喜,尊贵的用户" + username + " 登录成功!");
                    try {
                        new ManagerInterface().init(username);
                    } catch (Exception ex) {
                        throw new RuntimeException(ex);
                    }
                    jFrame.dispose();
                } else if (login.contains == false) {
                    JOptionPane.showMessageDialog(jFrame, "用户名不存在!");
                } else {
                    JOptionPane.showMessageDialog(jFrame, "帐号或密码有误!", "警告", JOptionPane.ERROR_MESSAGE);
                }
            }
        });

        // 对注册按钮监听
        regisBtn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    new RegisterInterface().init();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
                jFrame.dispose();
            }
        });

        // 测试数据库连接
        JDBCBtn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    Connection connection = JDBCUtils.getConnection();
                    if (!connection.isClosed()) {
                        JOptionPane.showMessageDialog(jFrame, "测试数据库连接成功!");
                    } else {
                        JOptionPane.showMessageDialog(jFrame, "测试数据库连接失败!", "警告", JOptionPane.ERROR_MESSAGE);
                    }
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }

            }
        });


        btnBox.add(JDBCBtn);
        btnBox.add(Box.createHorizontalStrut(10));
        btnBox.add(loginBtn);
        btnBox.add(Box.createHorizontalStrut(10));
        btnBox.add(regisBtn);


        // WelCome
        /*JLabel welComeLabel = new JLabel("欢迎您");
        welComeLabel.setFont(new Font("微软雅黑",Font.BOLD,30));
        vBox.add(welComeLabel);*/

        vBox.add(Box.createVerticalStrut(100));
        vBox.add(uBox);
        vBox.add(Box.createVerticalStrut(20));
        vBox.add(pBox);
        vBox.add(Box.createVerticalStrut(40));
        vBox.add(btnBox);

        bgPanel.add(vBox);

        jFrame.add(bgPanel);

        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }

    // 客户端程序入口
    public static void main(String[] args) throws Exception {
        new ApplicationMainInterface().init();
    }
}

数据库工具类

package com.lizixuan.util;

import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class JDBCUtils {
    // 声明常量
    private static String url;
    private static String user;
    private static String password;

    // 静态代码块加载驱动
    static {
        try {
            InputStream inputStream = ClassLoader.getSystemResourceAsStream("db.properties");
            // 加载配置对象
            Properties properties = new Properties();
            properties.load(inputStream);

            url = properties.getProperty("url");
            user = properties.getProperty("user");
            password = properties.getProperty("password");

        } catch (Exception e) {
            System.out.println("连接失败");;
        }
    }

    // 单列设计模式
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url,user,password);
    }

    // 关闭资源
    public static void close(Connection connection, Statement statement) throws SQLException {
        if(connection!=null){
            connection.close();
        }
        if(statement!=null){
            statement.close();
        }
    }

    public static void close(Connection connection, Statement statement, ResultSet resultSet) throws SQLException {
        if(connection!=null){
            connection.close();
        }
        if(statement!=null){
            statement.close();
        }
        if(resultSet!=null){
            resultSet.close();
        }
    }
}

到了这里,关于java+Mysql 图书管理系统(idea)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图书信息管理系统(JAVA版)连接MySQL数据库+GUI

    本次项目是实现的一个图书信息管理系统,功能算不上太多,但也比较齐全。 随着社会的发展,人们对知识的需求也在不断增长。书籍作为人们获取并增长知识的主要途径,使得书城,书店在人们的生活中占有了一定的位置。但是近几年,随着书量的不断增长,造成了图书挤

    2024年02月04日
    浏览(52)
  • 基于javaweb+mysql的jsp+servlet图书图书馆管理系统(java+jsp+layui+bootstrap+servlet+mysql)

    基于javaweb+mysql的jsp+servlet图书图书馆管理系统(java+jsp+layui+bootstrap+servlet+mysql) 运行环境 Java≥8、MySQL≥5.7、Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功能说明 基于javaweb+mysql的JSP+Servlet图书图书馆管理系统

    2024年02月04日
    浏览(53)
  • 基于JAVA+SSM+微信小程序+MySql的图书捐赠管理系统设计与实现

    ✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 文末获取项目下载方式 🍅 一、项目背景介绍: 在当今社会,图书捐赠是一种普遍而有益的行为,旨

    2024年02月07日
    浏览(53)
  • MySQL 图书管理系统

    1.1.1 信息需求分析 (1) 图书信息:包括书籍编号,书籍名称,出版社,作者,库存量,出版日期,价格,库存,剩余量,类别等; (2) 借阅证信息:包括借阅证编号,办证日期,可借数量等; (3) 读者信息:读者编号,读者姓名,读者性别,读者电话 (4) 图书借还信息:包括图

    2024年02月04日
    浏览(45)
  • 图书管理系统(JDBC、MySQL)

        目录 一、建立连接 1. 思路 2. 代码 二、 管理员上架功能 1. 思路 2. 代码 三、读者注册功能 1. 思路 2. 代码 四、读者借书功能 1. 思路 2. 代码 五、读者还书功能 1. 思路 2. 代码 六、读者查看借阅历史功能 1. 思路 2. 代码  (1)Record 类 (2)实现功能代码     该图书

    2024年02月08日
    浏览(41)
  • 简单的图书管理系统(mysql)

     我的GitHub :GitHub - FunnyGuy525/LibraryManageSystem) 一、数据库结构设计 1.E-R图 2. 数据库创建语句 create database if not exists tsjy; use tsjy; 3. 表结构设计说明 借阅人表是一个实体表,它存储了借阅人的基本信息,如证件号、姓名、类别、已借数目和电话。证件号是借阅人表的主键,它可

    2024年02月08日
    浏览(62)
  • Java旅游网站管理系统设计与实现(Idea+Springboot+mysql)

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年03月08日
    浏览(45)
  • Java web图书管理系统、在线图书借阅管理系统(带文档)

     大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是初学者还是有一定经验的程序员,我都希望能够为你

    2024年01月23日
    浏览(50)
  • Java会议室预约管理系统设计与实现(Idea+Springboot+mysql)

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年03月20日
    浏览(49)
  • Java实验室预约管理系统设计与实现(Idea+Springboot+mysql)

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年04月17日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包