JDBC SQLエスケープ構文の説明とは何ですか?
エスケープ構文を使用すると、標準のJDBCメソッドとプロパティを使用して使用できないデータベース固有の機能を柔軟に使用できます。
一般的なSQLエスケープ構文の形式は次のとおりです。
{keyword 'parameters'}
JDBCのさまざまなエスケープ構文は次のとおりです。
d、t、tsキーワード: これらは、日付、時刻、およびタイムスタンプのリテラルを識別するのに役立ちます。ご存知のように、2つのDBMSが同じ方法で時刻と日付を表すことはありません。このエスケープ構文は、ターゲットデータベースの形式で日付または時刻をレンダリングするようにドライバーに指示します
{d 'yyyy-mm-dd'}
ここで、yyyy =年、mm=月; dd=日付。この構文の使用{d'2009-09-03'}は2009年3月9日です。
例
//Create a Statement object stmt = conn.createStatement(); //Insert data ==> ID, First Name, Last Name, DOB String sql="INSERT INTO STUDENTS VALUES" + "(100,'Zara','Ali', {d '2001-12-16'})"; stmt.executeUpdate(sql);
エスケープキーワード
このキーワードは、LIKE句で使用されるエスケープ文字を識別します。 0個以上の文字に一致するSQLワイルドカード%を使用する場合に便利です。例-
String sql = "SELECT symbol FROM MathSymbols WHERE symbol LIKE '\%' {escape '\'}"; stmt.execute(sql);
バックスラッシュ文字(\)をエスケープ文字として使用する場合、バックスラッシュもJavaエスケープ文字であるため、Java文字列リテラルで2つのバックスラッシュ文字を使用する必要があります。
fnキーワード
このキーワードは、DBMSで使用されるスカラー関数を表します。たとえば、SQL関数 length を使用できます 文字列の長さを取得するには-
{fn length('Hello World')}
これは、文字列「HelloWorld」の長さである11を返します。キーワードを呼び出す
このキーワードは、ストアード・プロシージャーを呼び出すために使用されます。たとえば、INパラメータを必要とするストアドプロシージャの場合、次の構文を使用します-
{call my_procedure(?)};
INパラメータを必要とし、OUTパラメータを返すストアドプロシージャの場合、次の構文を使用します-
{? = call my_procedure(?)};
ojキーワード
このキーワードは、外部結合を示すために使用されます。構文は次のとおりです-
{oj outer-join}
ここで、outer-join =table {LEFT | RIGHT | FULL} OUTERJOIN {table | search-conditionのouter-join}。
String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}"; stmt.execute(sql);
-
MySQL JDBCドライバー接続文字列とは何ですか?
MySQLJDBC接続文字列は次のようになります- Class.forName(com.mysql.jdbc.Driver); 上記では、ドライバーはインターフェースです。 JDBCがアプリケーションサーバーの外部で実行されている場合は常に、クラスDriverManagerが接続を確立します。 DriverManagerクラスは次のとおりです- conn = (Connection) DriverManager.getConnection(jdbc:mysql://localhost/yourdatabaseName,”yourRootName,yourPassword); ここ
-
JDBCを使用してMySQLでバックスラッシュをエスケープする方法は?
バックスラッシュをエスケープするには、レコードを挿入するときにPreparedStatementを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1904 ( ClientId int, ClientName varchar(20), ClientAge int ); Query OK, 0 rows affected (0.00 sec) Javaコードは次のとおりです- import java.sql