1. 程式人生 > >Java面試題(牛客)

Java面試題(牛客)

1:建立時的區別: 

    Statement statement = conn.createStatement();
    PreparedStatement preStatement = conn.prepareStatement(sql);
    執行的時候: 
    ResultSet rSet = statement.executeQuery(sql);
    ResultSet pSet = preStatement.executeQuery();

由上可以看出,PreparedStatement有預編譯的過程,已經繫結sql,之後無論執行多少遍,都不會再去進行編譯,

而 statement 不同,如果執行多變,則相應的就要編譯多少遍sql,所以從這點看,preStatement 的效率會比 Statement要高一些

2>安全性問題

這個就不多說了,preStatement是預編譯的,所以可以有效的防止 SQL注入等問題

所以 preStatement 的安全性 比 Statement 高

3>程式碼的可讀性 和 可維護性 
這點也不用多說了,你看老程式碼的時候  會深有體會

preStatement更勝一籌