基于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("[email protected]");
                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("*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*");
    }
}

运行结果:

①主界面

基于MySQL的图书管理系统

②输出图书信息:基于MySQL的图书管理系统

③增加图书:

基于MySQL的图书管理系统

④查找图书:

基于MySQL的图书管理系统

⑤修改图书:

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