`

PreparedStatement's possible designated parameter

阅读更多

though it's nearly impossible to find out whether it's possible to use such kind of designated parameter (:1) in PreparedStatement, it's possible, and have been proved true.

 

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

public class DemoResultSetOracle {

    public static Connection getConnection() throws Exception {
        String driver = "oracle.jdbc.driver.OracleDriver";
        String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
        String username = "username";
        String password = "password";

        Class.forName(driver); // load Oracle driver
        Connection conn = DriverManager.getConnection(url, username, password);
        return conn;
    }

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            conn = getConnection();
            System.out.println("conn=" + conn);
            // prepare query
            String query = "select id, name, age from employees where xxx = (:1)";
            // create a statement
            stmt = conn.createStatement();
            // execute query and return result as a ResultSet
            rs = stmt.executeQuery(query);
            // extract data from the ResultSet
            while (rs.next()) {
                String id = rs.getString(1);
                String name = rs.getString(2);
                int age = rs.getInt(3);
                System.out.println("id=" + id);
                System.out.println("name=" + name);
                System.out.println("age=" + age);
                System.out.println("---------------");
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        } finally {
            // release database resources
            try {
                rs.close();
                stmt.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

 

using designated parameters would look like:

select id, name, age from employees where xxx = (:1)

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics