1.拼裝很長的sql的時候,須要使用StringBuffer,運行更快。html
例子:java
StringBuffer strSql = new StringBuffer(); strSql.append("update " + parameter.getDetailTablename() + " set "); for (int j = 0; j < list.size(); j++) { final String lowerFieldName = list.get(j).toString().toLowerCase(); strSql.append(lowerFieldName).append("=").append("#").append(lowerFieldName).append("#").append(","); } strSql.deleteCharAt(strSql.length() - 1); strSql.append(" where id=#id#"); epayDao.batchExcute(strSql.toString(), detailData);
2.執行sql時使用PreparedStatement方法。sql
優勢:(參考:PreparedStatement的用法)數據庫
(1)這容許jvm(javavirtual machine,java虛擬機)和驅動/數據庫緩存語句和字符串並提升性能。
(2)preparedstatement也提供數據庫無關性。當顯示聲明的sql越少,那麼潛在的sql語句的數據庫依賴性就越小。緩存
代碼示例:app
stringsql = "select * from people p where p.id = ? and p.name = ?"; preparedstatement ps = connection.preparestatement(sql); ps.setint(1,id); ps.setstring(2,name); resultset rs = ps.executequery();