JDBC technology is an API that provides cross-DBMS connectivity to a wide range of SQL databases and access to other tabular data sources, such as spreadsheets or flat files. With a JDBC technology-enabled driver, you can connect all corporate data even in a heterogeneous environment.

ForeignKeys are required in database driven applications. JDBC api helps to create columns having foreignkeys in a table.

The example below illustrates creation of a table with a foreign key column.

 import java.sql.*;

public class createForeignKeyTable 
{
    public static void main(String[] args) 
    {
        DB db = new DB();
        Connection conn=db.dbConnect(
    "jdbc:jtds:sqlserver://localhost:1433/tempdb","sa","");
        db.createTables(conn);
    }
}

class DB
{
    public DB() {}

    public Connection dbConnect(String db_connect_string,
  String db_userid, String db_password)
    {
        try
        {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            Connection conn = DriverManager.getConnection(
    db_connect_string, db_userid, db_password);
            System.out.println("connected");
            return conn;
            
        }
        catch (Exception e)
        {
            e.printStackTrace();
            return null;
        }
    }

    public void createTables(Connection conn)
    {
        String query;
        Statement stmt;
        
        try
        {
            query="create table cust_profile1 " +
                            "(id int,           "+
                            "phone varchar(32), " +
                            "mobile varchar(50), " +
                            "fax varchar(50), " +
                            "birthdate datetime, " +
                            "foreign key(id) references customer)";

            stmt = conn.createStatement();
            stmt.executeUpdate(query);
            stmt.close();
            conn.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
};