package rms.pub.util;
import java.util.List;
import java.util.Map;
import javax.sql.*;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
/**
* @specification :JdbcTemplate扩展
* @version : 1.0
* @auther : yangy
* @date : Jul 30, 2008 4:01:13 PM
* @email : qilaug@gmail.com
*/
public class JdbcTemplateExtend extends JdbcTemplate {
private DataSource dataSource;
/**
* 默认构造器,调用此方法初始化,需要调用setDataSource设置数据源
*/
public JdbcTemplateExtend() {
}
/**
* 初始构造器
*
* @param dataSource
* 数据源
*/
public JdbcTemplateExtend(DataSource dataSource) {
this.dataSource = dataSource;
super.setDataSource(dataSource);
}
/**
* 普通分页查询<br>
* <b>如果结果结合比较大应该调用setFetchsize() 和setMaxRow两个方法来控制一下,否则会内存溢出</b>
*
* @see #setFetchSize(int)
* @see #setMaxRows(int)
* @param sql
* 查询的sql语句
* @param startRow
* 起始行
* @param rowsCount
* 获取的行数
* @return
* @throws DataAccessException
*/
public List queryForListPage(String sql, int startRow, int rowsCount)
throws DataAccessException {
return queryForListPage(sql, startRow, rowsCount,
getColumnMapRowMapper());
}
/**
* 自定义行包装器查询<br>
* <b>如果结果结合比较大应该调用setFetchsize() 和setMaxRow两个方法来控制一下,否则会内存溢出</b>
*
* @see #setFetchSize(int)
* @see #setMaxRows(int)
* @param sql
* 查询的sql语句
* @param startRow
* 起始行
* @param rowsCount
* 获取的行数
* @param rowMapper
* 行包装器
* @return
* @throws DataAccessException
*/
@SuppressWarnings("unchecked")
public List queryForListPage(String sql, int startRow, int rowsCount,
RowMapper rowMapper) throws DataAccessException {
return (List) query(sql, new SplitPageResultSetExtractor(rowMapper,
startRow, rowsCount));
}
public DataSource getDataSource() {
return dataSource;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
super.setDataSource(dataSource);
}
}
public List getOperationLog(int startRow,int rowsCount) {
List listRows=jdbcTemplate.queryForListPage("SELECT * FROM evaluation_operation_log_info order by operation_date desc", startRow, rowsCount);
return listRows;
}
分享到:
相关推荐
使用JdbcTemplate扩展,开发者可以创建自定义的DAO接口,这些接口定义了特定的数据库操作,然后在实现类中利用JdbcTemplate提供的模板方法来完成这些操作。例如,可能会有一个`UserDao`接口,其中包含`getUserById`...
`JdbcTemplateExtend.java`可能扩展了`JdbcTemplate`类,添加了对游标分页的支持。它可能包含了一个或多个方法,用于封装上述步骤,使代码更加简洁易用。 在实际应用中,我们可能还需要考虑并发和性能优化,例如,...
本项目为基于Spring JdbcTemplate扩展并结合Velocity模板构建的SQL可配置化、缓存与热部署解决方案源码,总计包含383个文件,包括374个Java源文件、6个XML配置文件、1个Markdown文档、1个JAR包文件以及1个属性文件。...
在Spring框架中,`JdbcTemplate` 是一个非常重要的组件,它提供了一种简化数据库操作的API,使得开发者能够更安全、高效地与数据库交互。在本文中,我们讨论了如何利用`JdbcTemplate`来实现一个基类DAO(Data Access...
通过这个项目,你可以学习到如何利用Spring的JDBCTemplate和Java POJO来构建一个可复用、易于维护的DAO层,提升代码的可读性和可扩展性。同时,这也是一个良好的实践,帮助开发者遵循面向接口编程和低耦合的设计原则...
5. **MyBatis或MyJdbcTemplate**:文件名称中的"MyJdbcTemplate"可能是指自定义的JDBC模板类,它是基于Spring的JdbcTemplate扩展,用于简化数据库操作。JdbcTemplate提供了一种模板化的查询和更新方法,避免了手动...
Struts、Spring 和 JDBCTemplate 是三个在 Java Web 开发中常用的框架和技术,它们结合使用可以构建出高效且灵活的...通过实践,我们可以了解到如何在实际项目中有效地组合这些技术,提高代码的可维护性和可扩展性。
标题中的“tinysql”是一个基于Spring JdbcTemplate的扩展框架,其设计目的是借鉴Mybatis的核心理念,但同时简化了Mybatis的复杂性,以提供更简易的ORM(对象关系映射)解决方案。ORM框架的主要作用是将数据库操作与...
源码分析有助于理解其工作原理,以便于进行更高效的定制或扩展。 标签"工具"可能指的是JdbcTemplate作为一个工具类库的角色,它是Spring提供的众多数据库访问工具之一,可以帮助开发者构建健壮、易于维护的数据库...
用户可以通过扩展或自定义模板方法来实现特定的数据库操作逻辑。 **3. 回调机制** 回调机制是程序设计中的一种技术,它允许一个函数在执行过程中调用用户提供的函数或方法。在Spring JdbcTemplate中,回调机制体现...
在IT行业中,SpringMVC、JdbcTemplate和MySQL是构建web应用程序的常见技术栈。这篇详细的说明将深入探讨这些技术以及如何使用注解方式将它们...这个技术栈的使用能够提升开发效率,同时保持代码的可维护性和可扩展性。
这种通过配置驱动的方式,使得代码更加清晰,减少了硬编码的数据库连接细节,增强了系统的可配置性和扩展性。 #### 四、JdbcTemplate的核心功能 JdbcTemplate提供了多种方法来执行不同的数据库操作,包括: - `...
《SpringMVC与JDBCTemplate结合实现在线装机系统详解》 在现代软件开发中,构建一个在线装机系统可以极大地提升效率,减少人为错误。本系统利用SpringMVC作为控制层框架,配合JDBCTemplate进行数据访问,旨在提供...
这种设计降低了代码的耦合度,使得扩展和维护变得更加容易。 2. **SQL执行** - **查询**:`queryForList()`用于执行SQL查询并返回结果列表,`queryForObject()`用于获取单个对象,`query()`则允许自定义RowMapper...
综上所述,这个图书管理系统利用了Spring、SpringMVC和JdbcTemplate的强大功能,构建了一个高效、稳定且易于扩展的平台。通过深入理解并应用这些技术,开发者可以构建出满足不同需求的复杂系统,为用户提供优质服务...
**NamedParameterJdbcTemplate** 是JdbcTemplate的一个扩展,增加了命名参数支持。在传统的JdbcTemplate中,参数通常是用占位符(如?)来表示,而NamedParameterJdbcTemplate允许我们使用有意义的名字(如:username...
**扩展** JdbcTemplate可以结合`NamedParameterJdbcTemplate`使用,提供更强大的命名参数支持。另外,还有`SimpleJdbcInsert`和`SimpleJdbcCall`用于简化插入和存储过程的调用。 总结来说,JdbcTemplate是Spring为...
在Spring Boot框架中,JdbcTemplate是一个非常重要的组件,它提供了简化数据库操作的API,使得开发者可以更加方便地执行SQL语句。...这个项目为你提供了一个基础模板,你可以根据实际需求扩展其他数据库操作功能。
总结来说,这个技术组合旨在构建一个灵活、可扩展且易于维护的Java Web应用,通过Spring MVC处理前端请求,使用JdbcTemplate与多个数据库进行交互,mchange管理数据库变更,同时利用Spring AOP实现面向切面的编程,...