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

标签 java mysql jdbc netbeans-platform

我有一个简单的图书馆记录保存项目,我想使用,它基于 GUI 并添加图书馆图书记录、图书馆成员、借阅的图书等。

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

代码位于模块中,因此:

建立连接的代码

     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 文件来执行项目。

最佳答案

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

另一个可能的问题是您在创建连接时没有提供凭据。您的 MySQL 数据库不需要用户并通过身份验证吗?

关于java - 我正在尝试使用java记录保存项目,但该程序似乎无法连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60556470/

相关文章:

android - 如何将 SQLite 创建的数据上传到 MySQL 服务器?

java - 我想将控制台上的输出打印到文本文件中。我尝试了下面的方法,但没有成功。有人可以看看这个吗?

java - 如何在 Webview 的 OnRecievedError 上增加新布局?

mysql - Scala Slick : Insert fails with RejectedExecutionException

java - 以下 AES-128 算法的准确名称是什么?

php - 产品具有属性(变体)数据库设计?

java - 使用Java获取MS SQL Server中特定数据库中所有表的表名

sql - MyBatis RowBounds vs Oracle 分页查询使用 rownum 和嵌套子查询

java - 我可以在 java (netbeans) 中部署桌面应用程序 (application.exe) 吗?

java - spring 单例作用域——每个容器每个 bean