基于MySQL的图书管理系统

连接MySQL数据库

1.在eclipse中新建一个java项目,然后新建一个文件夹-libs(用来存放各种外部包)

[假装这里有一张操作图片]

2.在包里加入连接mysql数据库的包

下载链接提取密码:cn9f

解压后打开"mysql-connector-java-5.0.8-bin.jar",然后复制粘贴到我们的java项目的libs文件下面

3.构建路径上的jar包

打开eclipse→选择Project→选择Properties→点击“添加 JAR.....”并选择“mysql-connector-java-5.0.8-bin.jar”然后点击确认到结束。

4.在java项目中进行mysql数据库的连接

1)连接数据库的步骤:

​ ①加载驱动程序

Class.forName("com.mysql.jdbc.Driver");

​ ②连接数据库

String URL="jdbc:mysql://localhost:3306/数据库名字?";
String NAME="root";//数据库名字
String PASSWORD="1234";//数据库密码
Coonection conn=DriverManager.getConnection(URL,NAME,PASSWORD);

2)创建SqlConnection.java文件

SqlConnection.java

public class SqlConnection {  
//这里是SqlConnection 类  
  
        /* 
        *java连接mysql数据库 
        *1、加载驱动程序 
        *2、数据库连接字符串"jdbc:mysql://localhost:3306/数据库名?" 
        *3、数据库登录名 
        *3、数据库登录密码 
        */  
  
    private static final String URL="jdbc:mysql://localhost:3306/deom?";//数据库连接字符串,这里的deom为数据库名  
    private static final String NAME="admin";//登录名  
    private static final String PASSWORD="13245";//密码  
      
    public void TheSqlConnection()  
    {  
        //1.加载驱动  
        try {  
            Class.forName("com.mysql.jdbc.Driver");  
        } catch (ClassNotFoundException e) {  
            System.out.println("未能成功加载驱动程序,请检查是否导入驱动程序!");  
                        //添加一个println,如果加载驱动异常,检查是否添加驱动,或者添加驱动字符串是否错误  
            e.printStackTrace();  
        }  
        Connection conn = null;  
        try {  
            conn = DriverManager.getConnection(URL, NAME, PASSWORD);  
                System.out.println("获取数据库连接成功!");  
        } catch (SQLException e) {  
            System.out.println("获取数据库连接失败!");  
                        //添加一个println,如果连接失败,检查连接字符串或者登录名以及密码是否错误  
            e.printStackTrace();  
        }  
               //数据库打开后就要关闭  
        if(conn!=null)  
        {  
            try {  
                conn.close();  
            } catch (SQLException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
                conn=null;  
            }  
        }  
    }  
}  

3)创建一个MainClass.java文件

MainClass.java

public class MainCalss {  
  
    public static void main(String[] args) {  
        // TODO 自动生成的方法存根  
        new SqlConnection().TheSqlConnection();  
    }  
  
}  

运行后,输出结果:

获取数据库连接成功!

以上便是所有关于连接数据库的操作,下面便是如何使用数据库进行增删改查的数据操作。

图书管理系统

Java中MySQL数据库的insert、delete、alter操作:

...连接数据库语句...
Statement stat=conn.createStatement();
String sql="数据操作语句";
stat.executeUpdate(sql);

Java中MySQL数据库的select操作:

...连接数据库语句...
Statement stat=conn.createStatement();
String sql="数据操作语句";
stat.executeQuery(sql);
ResultSet rs=stat.executeQuery(sql);
//如果是输出所有结果,用下面这个
while(rs.next()){
    System.out.println(rs.getString(1)+"\t\t"+rs.getString(2)+"\t\t"+rs.getString(3)+"\t\t"+rs.getString(4))
}
//如果是输出指定id的单一结果
if(rs.next()){
    System.out.println(rs.getString(1)+"\t\t"+rs.getString(2)+"\t\t"+rs.getString(3)+"\t\t"+rs.getString(4))
}

SqlConnection.java

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;



public class SqlConnection {
/*
 * java连接mysql数据库
 * 1.加载驱动程序
 * 2.数据库连接字符串"jdbc:mysql://localhost;3306/s数据库名?"
 * 3.数据库登录名字 登录密码
 */
    private static final String URL="jdbc:mysql://localhost:3306/BookStore?";
    private static final String NAME="root";//登录名
    private static final String PASSWORD="1234";
    Scanner input=new Scanner(System.in);
    public void TheSqlConnection(){
        //1.加载驱动
        try{
            Class.forName("com.mysql.jdbc.Driver");
        }catch(ClassNotFoundException e){
            System.out.println("未能成功加载驱动程序,请检查是否导入驱动程序!");
                    //添加一个println,如果驱动加载异常,检查是否添加驱动,或者添加驱动字符串是否错误
            e.printStackTrace();
        }
        Connection conn=null;
        try{
            conn=DriverManager.getConnection(URL,NAME,PASSWORD);
            System.out.println("获取数据库连接成功!");
            PreparedStatement pst=conn.prepareCall("select * from book");//输入的要是在MYSQL中执行的句子
            ResultSet rs=pst.executeQuery();//获得执行上面代码后的结果集
            while(rs.next()){
                System.out.print(rs.getString(1)+" ");
                System.out.print(rs.getString(2));
                System.out.print(rs.getString(3));
                System.out.print(rs.getString(4)+" ");}
            
        }catch(SQLException e){
            System.out.println("获取数据库连接失败!");
            e.printStackTrace();
        }
        //数据库打开后就要关闭
        if(conn!=null){
            try{
                conn.close();
            }catch(SQLException e){
                //TODO Auto-generated catch block
                e.printStackTrace();
                conn=null;
            }
        }
    }
//查找表函数
    public void selectAll() throws Exception{
        try{
            Class.forName("com.mysql.jdbc.Driver");//加载驱动
            Connection conn=DriverManager.getConnection(URL,NAME,PASSWORD);//连接数据库
            Statement stat=conn.createStatement();//容器
            String sql="select * from book";//查询图书
            ResultSet rs=stat.executeQuery(sql);
            System.out.println("图书编号\t\t图书名称\t\t图书作者\t\t图书数量");
            while(rs.next()){
                
                System.out.println(rs.getString(1)+"\t\t"+rs.getString(2)+"\t\t"+rs.getString(3)+"\t\t"+rs.getString(4));
            }
            
            conn.close();
        }catch(ClassNotFoundException e){
            
        }
    }
    //查找某个图书信息
    public void select() throws Exception{
        int id;
        System.out.println("输入你要查找图书的ID:");
        id=input.nextInt();
        try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn=DriverManager.getConnection(URL,NAME,PASSWORD);
            Statement stat=conn.createStatement();
            String sql="select * from book where bookId='"+id+"'";
            stat.executeQuery(sql);
            ResultSet rs=stat.executeQuery(sql);
            System.out.println("图书编号\t\t图书名称\t\t图书作者\t\t图书数量");
            if(rs.next()){
                System.out.println(rs.getString(1)+"\t\t"+rs.getString(2)+"\t\t"+rs.getString(3)+"\t\t"+rs.getString(4));
            }
            
            conn.close();
        }catch(ClassNotFoundException e){
            
        }
    }
    //插入数据函数
    public void insert() throws Exception{
        int id,num;
        String name,author;
        id=input.nextInt();
        name=input.next();
        author=input.next();
        num=input.nextInt();
        
        try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn=DriverManager.getConnection(URL,NAME,PASSWORD);
            Statement stat=conn.createStatement();
            String sql="insert into book(bookId,bookName,bookAuthor,bookNum)values(\""+id+"\",\""+name+"\",\""+author+"\",\""+num+"\")";
            //String sql="insert into book(bookId,bookName,bookAuthor,bookNum)values("+id+","+name+","+author+","+num+")";
            stat.executeUpdate(sql);
            System.out.println("图书已经被插入......!");
            conn.close();
        }catch(ClassNotFoundException e){
            
        }
    }
    //修改数据
    public void alter() throws Exception{
        boolean flag=false;
        int a;//switch
        int id,num,id1,num1;
        String name,name1,author,author1;
        System.out.println("选择你要修改的图书编号:");
        id=input.nextInt();
        System.out.println("选择你要修改的内容:1.图书编号 2.图书名称 3.图书作者,4.图书数量");
        a=input.nextInt();
        String sql="";
        switch(a){
        case 1:
            System.out.println("请输入新的图书编号:");
            id1=input.nextInt();
            sql="update book set bookId='"+id1+"'where bookId='"+id+"'";
            flag=true;
            break;
        case 2:
            System.out.println("请输入新的图书名称:");
            name1=input.next();
            sql="update book set bookName='"+name1+"'where bookId='"+id+"'";
            flag=true;
            break;
        case 3:
            System.out.println("请输入新的图书作者:");
            author1=input.next();
            sql="update book set bookAuthor='"+author1+"'where bookId='"+id+"'";
            flag=true;
            break;
        case 4:
            System.out.println("请输入新的图书数量");
            num1=input.nextInt();
            sql="update book set bookNum='"+num1+"'where bookId='"+id+"'";
            flag=true;
            break;
        default:
            System.out.println("输入数字有误!");
            flag=false;
            break;
            
        }
        if(flag){
            try{
                Class.forName("com.mysql.jdbc.Driver");
                Connection conn=DriverManager.getConnection(URL,NAME,PASSWORD);
                Statement stat=conn.createStatement();
                stat.executeUpdate(sql);
                int i=stat.executeUpdate(sql);
                if(i>=0){
                    System.out.println("修改成功!");
                    
                }else{
                    System.out.println("修改失败!");
                }
                conn.close();
                
                
            }catch(ClassNotFoundException e){
                
            }
        }
        
    }
    //删除数据
    public void delete() throws Exception{
        int id;
        System.out.println("选择你要删除的图书的编号:");
        id=input.nextInt();
        try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn=DriverManager.getConnection(URL,NAME,PASSWORD);
            Statement stat=conn.createStatement();
            String sql="delete from book where bookId='"+id+"'";
            stat.executeUpdate(sql);
            int i=stat.executeUpdate(sql);
            if(i>=0){
                System.out.println("删除成功!");
            }else{
                System.out.println("删除失败!");
            }
            conn.close();
            
        }catch(ClassNotFoundException e){
            
        }
        
    }
}

MainClass.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class MainClass {
    public static void main(String[] args) throws Exception{
        Scanner input=new Scanner(System.in);
        boolean m=true;//用于while循环
        int n;//switch判断
        
        while(m){
            new MainClass().menu();
            System.out.println("请选择功能:");
            n=input.nextInt();
            switch(n){
            case 1:
                new SqlConnection().selectAll();
                break;
            case 2:
                new SqlConnection().insert();
                break;
            case 3:
                new SqlConnection().select();
                break;
            case 4:
                new SqlConnection().alter();
                break;
            case 5:
                new SqlConnection().delete();
                break;
            case 6:
                System.out.println("773626743@qq.com");
                break;
            case 7:
                m=false;
                break;
            default:
                System.out.println("输入有误,请重新输入!");
                
            }
        }
    }
    public void menu(){
        System.out.println("\n\n");
        System.out.println("*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*");
        System.out.println("*\t\t\t\t\t图书管理系统\t\t\t\t\t*");
        System.out.println("*\t\t\t\t\t\t\t\t\t\t\t*");
        System.out.println("*\t\t1.图书信息\t\t2.增加图书\t\t3.查找图书\t\t*");
        System.out.println("*\t\t4.修改图书\t\t5.删除图书\t\t6.联系作者\t\t*");
        System.out.println("*\t\t7.退出系统\t\t\t\t\t\t\t\t*");
        System.out.println("*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*");
    }
}

运行结果:

①主界面

②输出图书信息:

③增加图书:

④查找图书:

⑤修改图书:

以上便是图书管理系统的实现过程。

  • 34
    点赞
  • 392
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
【资源说明】 基于Python+tkinter+MySQL图书管理系统+设计报告+PPT(课程设计).zip 本图书管理系统是基于Python编程语言、tkinter图形化用户界面库、MySQL数据库开发的小型项目,旨 在帮助机构或个人实现对书籍的高效管理和查询。 本系统具有交互性和可视性的特点,拥有注册登录、添加书籍、删除书籍、修改书籍信息、查询书籍信 息等基本功能,是一款轻量级、易于使用的应用程序。由于使用了tkinter图形化界面库,用户可以轻松 地浏览和使用该系统。系统具有美观的界面、友好的操作流程、快速的数据访问速度和稳定的数据管理 工具,用户可以用它方便地管理自己的图书数据。 总之,本图书管理系统通过提供一系列功能和良好的用户体验,使得用户可以快速、精确地管理和查询 书籍信息,提高操作效率,方便管理工作。如果需要,该系统还可以在此基础上进行扩展、升级和改 进,以满足更全面的需求。 开发工具 基于 Python tkinter 与 MySQL图书管理系统 简单地实现了包括用户登录和管理图书的功能。 内附源码和小组答辩ppt。 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
基于MySQL图书管理系统是一个用于管理图书馆或书店的软件系统。它可以帮助管理员轻松地管理图书的借阅、归还、查询等操作。以下是该系统的一些主要功能和特点: 1. 图书管理:管理员可以添加、编辑和删除图书信息,包括书名、作者、出版社、ISBN等。系统可以自动生成图书编号,并提供搜索和排序功能。 2. 借阅管理:用户可以通过系统查询图书的可借状态,并进行借阅操作。系统会记录借阅时间和归还时间,并提供逾期提醒功能。 3. 用户管理:管理员可以管理用户信息,包括添加新用户、编辑用户信息和删除用户。用户可以注册账号,登录系统并修改个人信息。 4. 预约管理:用户可以预约图书,系统会记录预约时间和状态,并在图书可借时通知用户。 5. 统计报表:系统可以生成各种统计报表,如借阅次数排行榜、图书流通情况分析等,帮助管理员了解图书馆的使用情况。 6. 数据备份与恢复:系统支持数据备份和恢复功能,确保数据的安全性和可靠性。 7. 权限管理:系统可以设置不同用户角色的权限,如管理员、普通用户等,以保证数据的安全性和操作的合法性。 8. 界面友好:系统界面简洁明了,操作简单易懂,用户和管理员都可以轻松上手使用。 以上是基于MySQL图书管理系统的一些主要功能和特点。如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值