OracleとPostgreSQLの2つのデータベースに対して簡単なアプリケーションを作成したいと思います。すべてのデータベースに1つのJavaコードを使用する方法はありますか?私はこれを試しました:Java Prepared statements for PostgreSQL
public String init()
{
String user_name = null;
try
{
Context ctx = new InitialContext();
if (ctx == null)
throw new Exception("Boom - No Context");
DataSource ds = (DataSource) ctx.lookup("jdbc/DefaultDB");
if (ds != null)
{
Connection conn = ds.getConnection();
if (conn != null)
{
Statement stmt = conn.createStatement();
ResultSet rst = stmt.executeQuery("select id, user_name from user where username = " + user);
if (rst.next())
{
user_name = rst.getString("user_name");
}
conn.close();
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
return user_name;
}
私はこのコードで準備文をどのように使用できますか?
これまでに何を試しましたか? 'select id、user_name from user =? 'のSQLを使い、適切に文を準備し、パラメータを設定して実行できるはずです。あなたの難しさが準備されたステートメント*を使うことにあるのか、それとも移植可能なステートメントを使うのかは明らかではありません。あなたは明確にできますか? (実際には、データベースに 'user_name'と' username'という列はありますか?) –
プリペアドステートメントの基本については、http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.htmlを参照してください。 –