?? exsql.java
字號:
//聲明本類包含在包examples.jdbc.oracle中
package examples.jdbc.oracle;
//聲明本類要引入的其他包和類
import java.io.*;
import java.util.*;
import java.net.*;
import java.sql.*;
import java.util.Properties;
import weblogic.common.*;
/**
* 這個實例演示JDBC使用擴展SQL,嵌入到標(biāo)準(zhǔn)SQL。
*/
public class exsql {
/**
* 在main函數(shù)中,我們設(shè)置連接屬性,獲取連接對象,然后創(chuàng)建擴展SQL并執(zhí)行。
* 注意擴展SQL元素用{}封裝。這個實例使用函數(shù)dayname,now(),和date, time,和
* timestamp escape.
*/
public static void main(String argv[]) throws Exception {
//聲明連接
Connection conn = null;
try {
//屬性對象
java.util.Properties props = new java.util.Properties();
//設(shè)置屬性
props.put("user", "scott");
props.put("password", "tiger");
props.put("server", "DEMO");
//加載驅(qū)動
Driver myDriver = (Driver) Class.forName("weblogic.jdbc.oci.Driver").newInstance();
//連接
conn = myDriver.connect("jdbc:weblogic:oracle", props);
//語句對象
Statement stmt = conn.createStatement();
//擴展的SQL語句
String exsql =
"select {fn dayname ({fn now()})}, -- Today \n" +
" {d '1997-05-24'}, -- a date \n" +
" {t '10:30:29' }, -- a time \n" +
" {ts '1997-05-24 10:30:29.123'}, -- a timestamp \n" +
" '{string data with { or } will not be altered' \n" +
" from dual \n" +
"--{ Also note that you can safely include { and } in comments";
System.out.println(" The Extended SQL:\n" + exsql + "\n\n becomes:\n");
//轉(zhuǎn)化擴展SQL為系統(tǒng)自身的SQL
System.out.println(conn.nativeSQL(exsql));
//執(zhí)行Sql語句并返回結(jié)果集
ResultSet rs = stmt.executeQuery(exsql);
//打印結(jié)果
while (rs.next())
System.out.println("Got: " + rs.getString(1) +
"\n " + rs.getString(2) +
"\n " + rs.getString(3) +
"\n " + rs.getString(4) +
"\n " + rs.getString(5) );
}
catch (Exception e) {
//異常處理
e.printStackTrace();
}
finally {
//關(guān)閉數(shù)據(jù)庫連接
try {conn.close();} catch (Exception e) {;}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -