其一:需要注意合理设置Statement的fetchSize大小,即JdbcTemplate暴露的fetchSize变量的取值。
大量实践证明,通常情况下,将fetchSize设置为30-50最为合理,但也存在特殊情况。fetchSize取值太大,JVM消耗的临时内存会很多。
其二:存储或更新大批量的数据时,开发者需要控制好每批数据的数据量。比如BatchSqlUpdate内置了一batchSize变量,默认值为5000。
其三:尽量采用PreparedStatement操控数据库,而不是Statement。一定量的PreparedStatement示例会被连接池缓存起来,执行效率高、避免SQL注入攻击等。
其四:要充分挖掘JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate、SimpleJdbcInsert、SimpleJdbcCall等辅助类的功能,开发者不要直接使用Connection对象操控RDBMS,开发者要善待Spring JDBC集成。
其五:尽量用好目标RDBMS提供的各种特性,而不要在应用代码中“重复发明轮子”。始终要记住,多一行代码,Bug引入的机会就会多一些!