0

継承またはインポートの使用について読んだことがあります。私は単に正しい答えを得ることができません。まず、私のコードは次の形式です。

class queries{
String query1="Select * from "+tableName+";
String query2="Select "+columnName+" from "+tableName+";
}

ここで、クエリ クラスで説明したクエリを使用して SQL クエリを作成する別のクラスがあります。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


class test{

public static void main(String args[])throws SQLException
{

try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("This is Wrong");
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection connect = DriverManager
  .getConnection("SQLCONNECTION");
PreparedStatement preparedStatement = connect
  .prepareStatement(THIS SHOULD CALL query1 or query2);
 ResultSet resultSet = preparedStatement.executeQuery();

while (resultSet.next()) {
   System.out.println("THIS RUNS");
  //display text
}
preparedStatement.close();
connect.close();
}
}

さて、テストでクエリ クラスから query1 または query2 を呼び出す方法を理解する必要があります。申し訳ありませんが、誰かがこれをきれいな方法で行う方法を手伝ってくれることを願っています. 名前に基づいてそれぞれのクエリを呼び出すクエリで Hashtable を作成することもできます。

どうもありがとう。

4

1 に答える 1

1
class queries
{
    public static String getQuery1(String tableName)
    {
        return "Select * from "+tableName;
    }

    public static String getQuery2(String tableName, String columnName)
    {
        return "Select "+columnName+" from "+tableName;
    }
}

次に、これを行います:

PreparedStatement preparedStatement =
    connect.prepareStatement(queries.getQuery1("INSERT TABLE NAME HERE"));
于 2013-05-23T00:02:13.540 に答える