实习技术知识点
1.拼装很长的sql的时候,需要使用StringBuffer,运行更快。
例子:
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方法。
优点:(参考:PreparedStatement的用法)
(1)这允许jvm(javavirtual machine,java虚拟机)和驱动/数据库缓存语句和字符串并提高性能。
(2)preparedstatement也提供数据库无关性。当显示声明的sql越少,那么潜在的sql语句的数据库依赖性就越小。
代码示例:
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();