文档详情

教程和存储过程.doc

发布:2017-03-12约字共14页下载文档
文本预览下载声明
?JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句; update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句; query方法及queryForXXX方法:用于执行查询相关语句; call方法:用于执行存储过程、函数相关语句。 ? JdbcTemplate类支持的回调类: 预编译语句及存储过程创建回调:用于根据JdbcTemplate提供的连接创建相应的语句; ? ? ? ? ?PreparedStatementCreator:通过回调获取JdbcTemplate提供的Connection,由用户使用该Conncetion创建相关的PreparedStatement; ? ? ? ? ?CallableStatementCreator:通过回调获取JdbcTemplate提供的Connection,由用户使用该Conncetion创建相关的CallableStatement; 预编译语句设值回调:用于给预编译语句相应参数设值; ? ? ? ? ?PreparedStatementSetter:通过回调获取JdbcTemplate提供的PreparedStatement,由用户来对相应的预编译语句相应参数设值; ? ? ? ? ?BatchPreparedStatementSetter:;类似于PreparedStatementSetter,但用于批处理,需要指定批处理大小; 自定义功能回调:提供给用户一个扩展点,用户可以在指定类型的扩展点执行任何数量需要的操作; ? ? ? ? ?ConnectionCallback:通过回调获取JdbcTemplate提供的Connection,用户可在该Connection执行任何数量的操作; ? ? ? ? ?StatementCallback:通过回调获取JdbcTemplate提供的Statement,用户可以在该Statement执行任何数量的操作; ? ? ? ? ?PreparedStatementCallback:通过回调获取JdbcTemplate提供的PreparedStatement,用户可以在该PreparedStatement执行任何数量的操作; ? ? ? ? ?CallableStatementCallback:通过回调获取JdbcTemplate提供的CallableStatement,用户可以在该CallableStatement执行任何数量的操作; 结果集处理回调:通过回调处理ResultSet或将ResultSet转换为需要的形式; ? ? ? ? ?RowMapper:用于将结果集每行数据转换为需要的类型,用户需实现方法mapRow(ResultSet rs, int rowNum)来完成将每行数据转换为相应的类型。 ? ? ? ? ?RowCallbackHandler:用于处理ResultSet的每一行结果,用户需实现方法processRow(ResultSet rs)来完成处理,在该回调方法中无需执行rs.next(),该操作由JdbcTemplate来执行,用户只需按行获取数据然后处理即可。 ? ? ? ? ?ResultSetExtractor:用于结果集数据提取,用户需实现方法extractData(ResultSet rs)来处理结果集,用户必须处理整个结果集; ? 接下来让我们看下具体示例吧,在示例中不可能介绍到JdbcTemplate全部方法及回调类的使用方法,我们只介绍代表性的,其余的使用都是类似的; ? ? 1)预编译语句及存储过程创建回调、自定义功能回调使用: ? java代码: Java代码?? @Test?? public?void?testPpreparedStatement1()?{?? ??int?count?=?jdbcTemplate.execute(new?PreparedStatementCreator()?{?? ?????@Override?? ?????public?PreparedStatement?createPreparedStatement(Connection?conn)?? ?????????throws?SQLException?{?? ?????????return?conn.prepareStatement(select?count(*)?from?test);?? ?????}},?new?PreparedStatementCallbackInteger()?{?? ?????@Override?? ?????public?Int
显示全部
相似文档