/**
?* 使用JdbcTemplate返回单个对象
?* @param id
?* @return class
?*/?
??? public Classes findClasses(String id) {
??????? String sql = "select * from classes where id = ?";
??????? RowMapper mapper = new RowMapper() {
??????? public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
??????????????? Classes c = new Classes();
??????????????? c.setId(rs.getString("id"));
??????????????? c.setContent(rs.getString("content"));
??????????????? c.setUpid(rs.getString("upid"));
??????????????? c.setDistinction(rs.getString("distinction"));
??????????????? return c;
??????????? }
??????? };
??????? JdbcTemplate jdbcTemplate = new JdbcTemplate(this.getDataSource());
??????? return (Classes)jdbcTemplate.queryForObject(sql,new Object[]{id},mapper);
??? }
/**
?* 使用SimpleJdbcTemplate返回单个对象
?* @param id
?* @return class
?*/
??? public Classes findClasses2(String id) {
??????? String sql = "select * from classes where id = ?";
??????? ParameterizedRowMapper<classes> mapper = new ParameterizedRowMapper<classes>() {
??????????? // notice the return type with respect to Java 5 covariant return types
??????????? public Classes mapRow(ResultSet rs, int rowNum) throws SQLException {
??????????? ?Classes c = new Classes();
??????????????? c.setId(rs.getString("id"));
??????????????? c.setContent(rs.getString("content"));
??????????????? c.setUpid(rs.getString("upid"));
??????????????? c.setDistinction(rs.getString("distinction"));
??????????????? return c;
??????????? }
??????? };
??????? // again, normally this would be dependency injected of course...
??????? SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(this.getDataSource());
??????? return simpleJdbcTemplate.queryForObject(sql, mapper, new Object[]{id});
??? }
/**
?* 使用JdbcTemplate返回多个对象
?* @return List
?*/?
??? @SuppressWarnings("static-access")
?public List findClasses3() {
??? ?
??????? String sql = "select * from classes ";
??????? ParameterizedRowMapper<list> mapper = new ParameterizedRowMapper<list>() {
??????????? public List mapRow(ResultSet rs, int rowNum) throws SQLException {
??????????? ?List<classes> res=new ArrayList<classes>();
??????????? ?do{
??????????? ??Classes c = new Classes();
???????????????? c.setId(rs.getString("id"));
???????????????? c.setContent(rs.getString("content"));
???????????????? c.setUpid(rs.getString("upid"));
???????????????? c.setDistinction(rs.getString("distinction"));
???????????????? res.add(c);
??????????? ?}
??????????? ?while(rs.next());
??????????? ?return res;
??????????? }
??????? };
??????? SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(this.getDataSource());
??????? return (List)simpleJdbcTemplate.queryForObject(sql, mapper);
??? }
分享到:
相关推荐
第六,Spring 2.0还引入了SpEL(Spring Expression Language),一种强大的表达式语言,用于在运行时查询和操作对象图。通过源代码,我们可以学习如何使用SpEL进行条件判断、属性访问和方法调用。 第七,源码还涵盖...
另一个重要改进是支持JSR-303(Java Bean Validation)标准,Spring 2.0允许开发者对模型对象进行验证,确保数据的正确性。这使得在处理表单提交或服务层数据时,能够快速发现并处理错误。 Spring 2.0还引入了数据...
3. ModelAndView:返回ModelAndView对象,可以在处理完请求后同时返回模型数据和视图名。 五、其他特性 1. 支持JSR-168 Portlet API:使Spring能在portlet环境中运行。 2. 强大的测试框架:Spring Test提供了模拟...
《Spring 2.0 技术手册》是林信良所著的一本经典Spring框架教程,虽然相较于当前的Spring版本(如Spring Boot、Spring Framework 5.x或6.x)有些许年代感,但它仍然是初学者了解Spring核心概念的宝贵资源。...
Spring 2.0的IoC容器是整个框架的核心,它负责管理对象的生命周期和依赖关系。IoC通过反转控制权,使得应用程序不再直接创建对象,而是由容器来管理和装配对象。这提高了代码的可测试性和可维护性。在Spring 2.0中,...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@...
1. **执行SQL查询**:SimpleJdbcTemplate提供了query()系列方法,可以执行SQL查询并返回结果集,支持多种结果映射方式,如List、Map、自定义对象等。 2. **执行更新操作**:update()方法用于执行INSERT、UPDATE、...
在实际应用中,我们还可以利用`SimpleJdbcTemplate`的事务管理功能。由于`SimpleJdbcTemplate`继承自`JdbcOperations`接口,所以可以直接使用`TransactionAwareDataSourceProxy`来确保事务的正确性: ```java @...
All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory....
虽然JDBC本身较为低级,但通过Spring的JdbcTemplate或者SimpleJdbcTemplate,可以简化数据库操作,减少代码量,并提供事务管理。 在`SchoolInfoSys`这个项目中,我们可以推测这是一个学校信息管理系统。可能的功能...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...
`JdbcTemplate`和`SimpleJdbcTemplate`是Spring提供的两个核心组件,用于简化Java数据库连接(JDBC)操作,从而减轻开发人员处理事务、异常处理和资源管理的负担。下面将详细阐述这两个工具的使用及其与MySQL数据库...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@...
本篇将详细讲解如何配置Spring与MySQL数据库进行连接,以及如何利用SimpleJdbcTemplate进行数据操作。首先,我们需要理解Spring的JDBC支持,它提供了一种简单而强大的方式来处理数据库交互。 1. **Spring与MySQL的...
通过阅读和理解Spring-ORM的源码,我们可以深入理解Spring如何与ORM(对象关系映射)框架进行交互,以及Spring如何简化数据访问层的开发。 1. **IoC容器与数据源** Spring的核心是IoC(Inversion of Control)容器...
Spring框架是Java开发中不可或缺的一部分,它以其模块化、易用性和灵活性著称。Spring 3.0.5是该框架的一个稳定版本,包含了多个jar包,每个jar包都有其...理解这些jar包的作用有助于更高效地利用Spring框架进行开发。
7. **整合**:将 Struts1 和 Spring 整合时,通常会在 Struts1 的 Action 类中注入 Spring 的 Service 对象,这样可以利用 Spring 管理 Service 层的生命周期和事务。同时,Struts1 的插件如 Struts-Spring 插件可以...
对于JDBC,Spring的JdbcTemplate和SimpleJdbcTemplate提供了一种基于模板的方法来执行SQL,避免了手动管理连接和结果集。 四、MVC(Model-View-Controller)框架 Spring MVC是Spring框架的一部分,用于构建Web应用...
Spring JDBC是Spring框架的一部分,它提供了对数据库操作的简化,特别是通过对象化的模型来表示数据库交互。这个模型允许开发者以面向对象的方式处理SQL查询,而不是直接处理JDBC API,从而提高了代码的可读性和可...
通过对Spring 4.3.2.RELEASE源码的深入研究,我们可以了解其设计理念,学习到如何优雅地管理依赖、实现面向切面编程,以及如何利用Spring构建高效、健壮的Web应用。同时,源码阅读也能帮助我们理解Spring如何与其他...