从 Java 内部访问 Oracle DB express



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

据我了解,我

必须使用一些工具创建一个表,并使用该工具自动生成一个允许我与数据库通信的 Java 类。我离这个有多远?

只是为了让你的问题清楚,你用什么工具来生成你的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工具。我找到了几个使用此工具的链接:链接 1 和链接 2

本教程介绍如何访问 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();
            }
        }
    }
}

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

最新更新