Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java中访问Oracle DB express_Java_Database_Oracle - Fatal编程技术网

从Java中访问Oracle DB express

从Java中访问Oracle DB express,java,database,oracle,Java,Database,Oracle,我有一个基本的Java应用程序(带有GUI),它使用链表添加/删除/修改客户对象,我想将它们存储在数据库中(确切地说是Oracle DB express) 据我所知,我必须使用某种工具创建一个表,并使用该工具自动生成一个Java类,使我能够与DB通信。我离这还有多远?只是想澄清一下您的问题,您使用了什么工具来生成java代码 我建议您避免使用代码生成工具,以防您想在Java内外学习 Connection con; Statement smt; ResultSet rs; String user=

我有一个基本的Java应用程序(带有GUI),它使用链表添加/删除/修改客户对象,我想将它们存储在数据库中(确切地说是Oracle DB express)


据我所知,我必须使用某种工具创建一个表,并使用该工具自动生成一个Java类,使我能够与DB通信。我离这还有多远?

只是想澄清一下您的问题,您使用了什么工具来生成java代码

我建议您避免使用代码生成工具,以防您想在Java内外学习

Connection con;
Statement smt;
ResultSet rs;
String user="databaseuser";
String pass="password";
String path="jdbc:oracle:thin:@localhost:1521:Sampledb";  //put db url here

  try{
           con=DriverManager.getConnection(path, user, pass);
           smt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
           String SQL="SELECT *FROM Registered_users_tb "; //Your Query here
           rs=smt.executeQuery(SQL);
           rs.moveToInsertRow();
           //First param is db column name,second param is variable name
           rs.updateString("USERNAME", username); 
           rs.updateString("FNAME", fname);
           rs.updateString("MNAME", mname);
           rs.updateString("LNAME", lname);
           rs.updateString("GENDER", gender);
           rs.updateString("DEPARTMENT", dept);
           rs.insertRow();
           rs.close();
            smt.close();
      }
        catch(SQLException err){
        JOptionPane.showMessageDialog(Classname.this,err.getMessage());

    }

为了创建一个全新的数据库,oracle提供了一个名为DBCA的gui工具。我找到了几个使用此工具的链接:和

这将教您如何访问Oracle数据库。要访问这样的数据库,您需要找到其他驱动程序。下面是一个如何访问此类数据库的简短示例:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

class DatabaseAccess
{
    public static void main(String [] args)
    {
        Connection connection = null;

        try
        {
            Class.forName("oracle.jdbc.OracleDriver");

            String dbPath = "jdbc:oracle:thin:@localhost:1521:myDatabase";
            String username = "user";
            String password = "password";

            connection = DriverManager.getConnection(dbPath, username, password);

            if(connection != null)
            {
                System.out.println("Connected with database");

                Statement statement = connection.createStatement();
                ResultSet results = statementt.executeQuery("SELECT * FROM myTable");

                while(result.next())
                {
                    System.out.println(result.getString("myString"));  
                }
        }
        catch(ClassNotFoundException | SQLException exc)
        {
            exc.printStackTrace();
        }
        finally
        {
            try
            {
                connection.close();
            }
            catch(SqlException exc)
            {
                exc.printStackTrace();
            }
        }
    }
}

有关更高级的示例,请访问给定的链接。

我正在考虑下载JDeveloper,并遵循我在Oracle网站上找到的长长的教程。我想我应该先创建一个数据库,然后JDeveloper将创建一个Java类,我可以在我的项目中重用它。(或类似的事情)。谢谢你的回答。信息量很大。我会检查所有的信息,看看是否能让它发挥作用。祝你好运。