Accessing Oracle DB express from within Java

时间:2018-04-18 18:16:13

标签: java database oracle

I have a basic Java application (with a GUI) that uses a linked list to add/remove/modify Customer objects and I want to store them in a database (Oracle DB express to be exact)?

As I understand it, I have to create a table with some tool, and the use that tool to auto-generate a Java class that would allow me to communicate with the DB. How far off am I with this?

2 个答案:

答案 0 :(得分:0)

只是为了让你的问题清楚,你用什么工具来生成你的java代码?

我建议您避免使用代码生成工具,以防您想要学习和学习Java。这是一个如何将SWING应用程序与Oracle DB,MySQL,Derby和更多其他数据库连接的示例。< / p>

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());

    }

答案 1 :(得分:0)

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

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

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();
            }
        }
    }
}

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