gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 18:06:04 24 4
gpt4 key购买 nike

我有一个简单的图书馆记录保存项目,我想使用,它基于 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com