从Java中的另一个类访问berkeley db

时间:2015-04-08 22:08:48

标签: java berkeley-db

我在我的一个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

1 个答案:

答案 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 ");
     }
    }