在PHP中,我们只是创建一个文件,例如connect.php
,然后我们将此文件包含在我们喜欢的每个页面中:
在Java中,我在同一个项目文件夹中创建了一个单独的文件,connect.java并尝试在其他文件中调用它,以便这些文件获得数据库连接但到目前为止没有运气.
我上次尝试过但令我感到惊讶的是,连接页面中的一些变量我无法在主程序中使用它们.有人可以帮帮我吗 .bellow是我用来连接mysql的代码,也是我打印一些东西
但我想把它作为一个单独的文件,不打印任何东西只是连接,我只是打印我想要的不同的文件
因此,如果我在php术语中说话,我想将其包含在可能需要连接的其他文件中.
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver loading success!");
String url = "jdbc:mysql://localhost:3306/saloon";
String name = "root";
String password = "";
try {
java.sql.Connection con = DriverManager.getConnection(url, name, password);
System.out.println("Connected.");
// pull data from the database
java.sql.Statement stmts = null;
String query = "select userid, username, name , address, hairstyle from saloonuser ";
stmts = con.createStatement();
ResultSet rs = stmts.executeQuery(query);
int li_row = 0;
while(rs.next()){
mysTable.setValueAt(rs.getString("username"),li_row,0);
mysTable.setValueAt(rs.getString("name"),li_row,1);
mysTable.setValueAt(rs.getString("address"),li_row,2);
mysTable.setValueAt(rs.getString("hairstyle"),li_row,3);
int userid = rs.getInt("userid");
String username = rs.getString("username");
String name1 = rs.getString("name");
System.out.println(name1);
li_row++;
} } catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
其中一个办法接近是有一个BaseDAO与它返回一个方法Connection对象,在那里你可以有下面的代码-
public class BaseDAO {
public Connection getConnection() {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/saloon";
String name = "root";
String password = "";
Connection con = DriverManager.getConnection(url, name, password);
return con;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以BaseDAO在所有其他DAO类中扩展它,或者创建类的对象BaseDAO并获取Connection对象.
您剩下的代码将在一个单独的DAO类中.(让我们称之为GetDataDAO).
public class GetDataDAO extends BaseDAO {
Connection con = getConnection();
Statement stmts = null;
String query = "select userid, username, name , address, hairstyle from saloonuser ";
stmts = con.createStatement();
ResultSet rs = stmts.executeQuery(query);
int li_row = 0;
while(rs.next()){
mysTable.setValueAt(rs.getString("username"),li_row,0);
mysTable.setValueAt(rs.getString("name"),li_row,1);
mysTable.setValueAt(rs.getString("address"),li_row,2);
mysTable.setValueAt(rs.getString("hairstyle"),li_row,3);
int userid = rs.getInt("userid");
String username = rs.getString("username");
String name1 = rs.getString("name");
System.out.println(name1);
li_row++;
}
}
Run Code Online (Sandbox Code Playgroud)