我在我的一个java类文件中创建了一个数据库,并想知道如何在另一个java类文件中访问/打开该数据库以读取数据。我尝试使用openDatabase但是它如何知道数据库文件的位置?我搜索了很多论坛,我发现所有的代码都在同一个类中,只是访问数据库对象。
ex.I在我的一个java类文件的/ documents /目录下创建了一个数据库,所有我的java代码都在其他地方。如何在我的其他源代码中访问和使用该数据库?
编辑:
public static void main(String[] args) {
try {
EnvironmentConfig environmentConfig=new EnvironmentConfig();
environmentConfig.setAllowCreate(true);
Environment environment=new Environment(new File("user/documents/"),environmentConfig);
DatabaseConfig databaseConfig=new DatabaseConfig();
databaseConfig.setAllowCreate(true);
Database db=environment.openDatabase(null,"mytable",databaseConfig);
}
catch (Exception e) {
throw new RuntimeException(e);
}
}
我尝试了以下操作,并在编译时不断收到此错误。
openDatabase(com.sleepycat.db.Transaction,java.lang.String,java.lang.String,com.sleepycat.db.DatabaseConfig) in com.sleepycat.db.Environment cannot be applied to (<nulltype>,java.lang.String,com.sleepycat.db.DatabaseConfig)
Database db=environment.openDatabase(null,key,databaseConfig);
^
1 error
答案 0 :(得分:0)
是的,因为它与mysql数据库有关,这意味着您必须拥有密码和用户名,因为它是一个安全的学校系统,您可以使用mysql连接器访问您创建的数据。
更清楚一点,你必须拥有database.java文件。
然后在该文件中,要知道的主要事情是构造函数和方法......
import java.sql。*;
public class database
{
public static database bDatabase = null;
protected String connection_url = "";
protected String _name = "";
protected String name = "";
protected String user = "";
protected String password = "";
protected Class some_class = null;
protected Connection connection = null;
protected ResultSet results = null;
protected String current_table = "";
protected Boolean error = false;
public database(String name, String user, String password)
{
this(name, user, password, "jdbc:mysql://localhost:3306", "com.mysql.jdbc.ClassName");
}
public database(String name, String user, String password, String connection_url, String any_name)
{
this.name = name;
this.user = user;
this.password = password;
this.connection_url = connection_url;
this._name = any_name;
}
public static void openDatabase()
{
try
{
bDatabase = new database("dbname", "user_id",
"password", "jdbc:mysql://host",
"com.mysql.jdbc.Anyclass");
bDatabase.open();
}
catch (Exception ex)
{
throw new InvalidQueryException("Unable to open database ");
}
}