Javaプログラミングの初心者です。 String.format
を使用してSQLクエリ文字列を作成します。ここでサインアップは、Beanクラスのオブジェクトである私は、すでにC#でString.format
を使用し、それが正常に働いている、ではなくJavaでString.formatを使用してSqlクエリ文字列を構築できますか?
String Query = String.format("insert into authentication(Id,Name,Email,Password,DOB,Gender,Phone,SQ,SA) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", signup.getId(), signup.getName(), signup.getEmail(), signup.getPassword(), signup.getDate_Of_Birth(), signup.getGender(), signup.getPhone(), signup.getSQ(), signup.getSA());
try {
ps = con.prepareStatement(Query);
int i = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return i;
。 String.Formatのと比較してしかし、この方法は、それが唯一の「{0}」、「{1}」...データベース
別の方法では、私はそれがうまく働いて使用していますが、より多くのコードセーブ機能していない
try {
ps = con.prepareStatement("insert into authentication Id=?,Name=?,Email=?,Password=?,DOB=?,Gender=?,Phone=?,SQ=?,SA=?,IsVerified=?,IsPay=? ");
ps.setString(1, signup.getId());
ps.setString(2, signup.getName());
ps.setString(3, signup.getEmail());
ps.setString(4, signup.getPassword());
ps.setString(5, signup.getDate_Of_Birth());
ps.setString(6, signup.getGender());
ps.setString(7, signup.getPhone());
ps.setString(8, signup.getSQ());
ps.setString(9, signup.getSA());
int i = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
それはJavaでString.format
を使用してSQLクエリ文字列を構築することは可能ですか?
ありがとう@blackpanther私は文字列フォーマットのコンセプトを理解しています – SarabjeetSingh
PreparedStatementの使用は単なる習慣ではありません。より効率的で、SQLインジェクションから保護します。 – Catweazle