spring日记(八):使用Spring JDBC访问数据库
DAO中的用法,往数据库中插入或更新大数据操作:
以块数据方式读取数据库中大数据:
以流数据方式读取Lob数据:
对于体积很大的Lob数据,比如超过50M,我们可以使用流的方式进行访问,减少内存占用。
规划主键方案:
所有主键全部采用应用层主键产生方案,使用UUID或者DataFieldMaxValueIncrementer生产主键。
以行集返回数据:
RowSet会一次性装载所有的匹配数据,同时会断开数据库的连接。而不是像ResultSet那样,分批次返回一批数据,一批的行数为fetchSize。所以,对于大结果集的数据,使用SqlRowSet会造成很大的内存消耗。
其他的JDBCTemplate:
NamedParameterJDBCTemplate:提供命名参数绑定功能
SimpleJDBCTemplate:将常用的API开放出来
先看一下xml配置文件:
public void addForumByNamedParams(final Forum forum) { final String sql = "INSERT INTO t_forum(forum_name, forum_desc) VALUES(:forumName,:forumDesc)"; // SqlParameterSource sps = new BeanPropertySqlParameterSource(forum); MapSqlParameterSource sps = new MapSqlParameterSource(). addValue("forumName", forum.getForumName()). addValue("forumDesc", forum.getForumDesc()); namedParameterJdbcTemplate.update(sql, sps);}