有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

mysql我试图使用java记录保存项目,但该程序似乎无法连接到数据库

我有一个简单的图书馆记录保存项目,我想使用,它是基于图形用户界面&;添加图书馆图书记录、图书馆成员、借阅的图书等

这意味着项目使用DB,即Mysql,但是当我试图将记录存储到DB中时,会执行失败的选项,因为项目无法将记录保存在DB中

代码在模块中,因此:

建立连接的代码

     import java.sql.Connection;
     import java.sql.DriverManager;

     public class DB {
       public static Connection getConnection(){
       Connection con=null;
       try{
           Class.forName("com.mysql.jdbc.Driver");
           con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","","");
          }catch(Exception e){System.out.println(e);}
          return con;
         }

       }

获取记录的代码:

     import java.sql.*;
      public class LibrarianDao {


         public static int save(String name,String password,String email,String address,String city,String contact){
         int status=0;
         try{
        Connection con=DB.getConnection();
        PreparedStatement ps=con.prepareStatement("insert into 
        librarian(name,password,email,address,city,contact) values(?,?,?,?,?,?)");
        ps.setString(1,name);
        ps.setString(2,password);
        ps.setString(3,email);
        ps.setString(4,address);
        ps.setString(5,city);
        ps.setString(6,contact);
        status=ps.executeUpdate();
        con.close();
    }catch(Exception e){System.out.println(e);}
    return status;
}
public static int delete(int id){
    int status=0;
    try{
        Connection con=DB.getConnection();
        PreparedStatement ps=con.prepareStatement("delete from librarian where id=?");
        ps.setInt(1,id);
        status=ps.executeUpdate();
        con.close();
    }catch(Exception e){System.out.println(e);}
    return status;
    }

    public static boolean validate(String name,String password){
       boolean status=false;
       try{
        Connection con=DB.getConnection();
        PreparedStatement ps=con.prepareStatement("select * from librarian where name=? and password=?");
        ps.setString(1,name);
        ps.setString(2,password);
        ResultSet rs=ps.executeQuery();
        status=rs.next();
        con.close();
    }catch(Exception e){System.out.println(e);}
    return status;
   }

  }

显然,还有其他与数据库交互的代码模块,该项目有一个专门的文件夹存放所有类文件&;与所有“.java”文件类似,它是通过“.jar”文件执行的,但我不知道在项目文件夹中的何处添加java Mysql连接器,因此它可以访问数据库

我的问题是:

1)我应该在项目文件夹的何处添加mysql连接器以允许访问mysql数据库

2)必须手动(通常)或通过netbeans将连接器添加到项目中

3)如果必须通过netbeans完成,我如何重新创建一个新的。用于执行项目的jar文件


共 (1) 个答案

  1. # 1 楼答案

    可能是在关闭准备好的语句之前关闭了连接。确保您也关闭了准备好的声明。如果可能,请对connection和prepared语句使用try with resources

    另一个可能的问题是创建连接时没有提供凭据。您的MySQL数据库是否不需要user和pass auth