同構與異構


 
        

(1) 數據源中的同構與異構

如果你需要討論一群鳥類或者一批飛機,那么這樣的數據是同構的,比如包含鳥類的數組 [Bird] 和包含飛機的數組 [Airplane]。
有時候你想探討的是這些空中家伙的共性 “飛翔”,因此你的數據源可能同時包含 Bird 和 Airplane,這樣的數據源叫做異構數據。

(2) SQL語句的同構與異構的區別

同構SQL語句: 指的是兩個SQL語句可編譯的部分是相同的,只是參數不一樣而已 異構SQL語句: 指的是兩個SQL語句整個的格式都是不同的。 在JDBC中,PreparedStatement執行同構SQL語句的效率是比較高的,因為PreparedStatement對象一旦綁定了SQL語句,就只能執行這一條SQL語句,例如:

 

public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs  = null;
        People people = new People();
        try {
            conn = ConnectionFactory.getConnection();
            String selectSQL = "SELECT id,name,salary FROM emp_t WHERE id = ?";
            pstmt = conn.prepareStatement(selectSQL);
            pstmt.setLong(1,3);
            rs = pstmt.executeQuery();
            if(rs.next()){
                people.setId(rs.getLong("id"));
                people.setName(rs.getString("name"));
                people.setSalary(rs.getDouble("salary"));
            }
            System.out.println(people);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(conn, null, pstmt, rs);
        }
    }

 

這里只要傳入不同的參數就可以得到不同的查詢結果。

Statement則執行異構的SQL語句效率更高,這里就不做演示了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM