`
韩悠悠
  • 浏览: 839070 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用spring的jdbcTemplate-----SimpleJdbcTemplate的使用

阅读更多

 

1,用简单的JDBC模板更新数据库

 

传统的JdbcTemplate的许多方法都需要将语句参数作为对象数组进行传递,在SimpleJdbcTemplate中,可将其作为可变长度参

数进行传递,这样免去了将它们包装在一个数组中的麻烦,使用SimpletJdbcTemplate可以直接实例化,也可以扩展

SimpleJdbcDaoSuppport类来获取它的实例,

 

public class JdbcUserDao extends SimpleJdbcDaoSupport implements UserDao{

	public void insert(User user){

		String sql = "insert into user values (?,?)";
		this.getSimpleJdbcTemplate().update(sql,user.getUsername(),user.getPassword());
	}
}

 

SimpleJdbcTemplate提供了一个便利的批处理方法,指定一个SQL语句,再以List<Object[]>的形式指定一批参数,这样就不用

实现BatchPreparedStatementSetter接口了.

 

public class JdbcUserDao extends SimpleJdbcDaoSupport implements UserDao{

	public void insert(List<User> user){

		String sql ="insert into user values(?,?)";
		
		List<Object[]> parameters = new ArrayList<Objcet[]>();
		for(User u: user){

			parameters.add(new Object[]{u.getUsername(),u.getPassword()});
		}
		this.getSimpleJdbcTemplate().batchUpdate(sql,paramters);
	}
}

 

 

2,用简单的JDBC模板查询数据库

 

再实现RowMaper接口时。可以使用java.lang.Object.ParameterizedRowMapper子接口,它接受一个类型参数作为mapRow()方法的返回类型。

 

public class UserRowMapper implements ParamterizedRowMapper<User>{

	public User mapRow(ResultSet rs,int rowNum)throws SQLException{

		User user  = new User();
		user.setUsername(rs.getString("username"));
		user.setPassword(rs.getString("password"));
		return user;
	}
}

 

 

将SimpleJdbcTemplate与ParameterizedRowMapper结合起来使用,可以免去强制类型转换返回结果类型的麻烦,对于queryForObjcet()方法而言,返回类型由ParameterizedRowMapper对象的类型参数决定的,

 

public class JdbcUserDao extends SimpleJdbcDaoSupport implements UserDao{
	
	public User findByUserId(int id){

		String sql ="select *from user where id=?":
		
		User user = this.getSimpleJdbcTemplate().queryForObject(sql,new UserRowMapper(),id);
		return user;
	}
}

 

 

在spring2.5中叶提供了一个便利的ParameterizedRowMapper实现,---ParameterizedBeanPropertyRowMapper,它可以自动将结果集中的一行映射到指定类的新实例上

 

public class JdbcUserDao extends SimleJdbcDaoSupport implements UserDao{

	public List<User> findAll(){

		String sql ="select *from user ";

		List<User> users = this.getSimpleJdbcTemplate().query				

(sql,ParameterizedBeanPropertyRowMapper.newInstance(User.class));
		return users;
	}
}

 

在通过SimpleJdbcTemplate查询单个值时,queryForObject()方法的返回类型由class参数(如,String.class)决定,因此,需要手工执行类型强制转换,

 

public class JdbcUserDao extends SimpleJdbcDaoSupport implements UserDao{

	public String getUsername(int id){

		String sql ="select username from user where id= ?";

		String username = this.getSimpleJdbcTemplate().queryForObject(sql,String.class,id);
		return username;
	}
}

 

分享到:
评论

相关推荐

    spring-jdbc-4.2.4.RELEASE.jar,spring-tx-4.2.4.RELEASE.jar,jdbcTemplate使用的jar包

    这个jar包包含了Spring对JDBC的支持,主要包括`JdbcTemplate`和`SimpleJdbcTemplate`类。`JdbcTemplate`是Spring提供的一种模板方法模式实现,它封装了JDBC的常用操作,如执行SQL查询、更新等,提供了异常转换和数据...

    spring-framework-2.5.6

    对于JDBC,Spring的JdbcTemplate和SimpleJdbcTemplate提供了一种基于模板的方法来执行SQL,避免了手动管理连接和结果集。 四、MVC(Model-View-Controller)框架 Spring MVC是Spring框架的一部分,用于构建Web应用...

    Spring之SimpleJdbcTemplate的使用

    SimpleJdbcTemplate是Spring JDBC提供的一个简单易用的模板类,它基于JdbcTemplate并进一步降低了数据库访问的复杂性。通过预编译SQL语句、参数绑定、结果集处理等功能,它使得开发者无需关注事务管理、异常转换等...

    spring源码spring-framework-4.3.2.RELEASE

    1. **JDBC抽象层**:Spring提供了对JDBC的简化封装,通过`JdbcTemplate`和`SimpleJdbcTemplate`,可以避免繁琐的数据库操作,减少SQL注入的风险。源码中的`org.springframework.jdbc.core`和`org.springframework....

    Spring3.0.5所有jar包及每个jar包作用说明文档

    它包括了JdbcTemplate和SimpleJdbcTemplate,用于执行SQL语句和处理结果集。 7. **spring-tx.jar**:事务管理模块,支持编程和声明式事务管理,可以与JDBC、Hibernate、JPA等数据访问技术一起使用。 8. **spring-...

    spring-orm源码

    对于SQL数据库操作,Spring提供了JdbcTemplate和SimpleJdbcTemplate,它们是不依赖于ORM的数据库访问工具。通过源码,我们可以学习到如何编写SQL语句,如何执行查询、更新等操作,以及如何处理结果集。 9. **异常...

    spring-2.0.8-sources.jar.zip

    Spring 2.0.8加强了对JDBC的抽象,提供了JdbcTemplate和SimpleJdbcTemplate,简化了数据库操作。同时,它还集成了多种ORM框架,如Hibernate、JPA等,提供了统一的编程接口。 八、集成测试 Spring 2.0.8引入了...

    Spring 通过连接mysql,通过JdbcTemplate和SimpleJdbcTemplate来操作数据库

    `JdbcTemplate`和`SimpleJdbcTemplate`是Spring提供的两个核心组件,用于简化Java数据库连接(JDBC)操作,从而减轻开发人员处理事务、异常处理和资源管理的负担。下面将详细阐述这两个工具的使用及其与MySQL数据库...

    spring-framework-4.0.3.RELEASE-dist.zip

    5. **JDBC抽象层**:4.0版本的JdbcTemplate和SimpleJdbcTemplate提供了更多的便利方法,简化了数据库操作。 6. **AOP增强**:增强了面向切面编程(AOP)的能力,包括更灵活的切入点表达式和代理模型。 在4.0.3....

    使用Spring的SimpleJdbcTemplate完成DAO操作

    本篇文章将详细讲解如何使用Spring的`SimpleJdbcTemplate`来实现DAO操作,这是一种简单易用且强大的工具,特别适合小型项目或快速开发。 `SimpleJdbcTemplate`是Spring框架提供的一个轻量级数据库访问组件,它基于`...

    SpringJDBC.rar_SpringJDBC_jdbctemplate_jdbctemplate spring

    Spring JDBC通过提供JdbcTemplate和SimpleJdbcTemplate等工具类,帮助开发者以更安全、更易于管理的方式与数据库进行交互,降低了传统JDBC代码的复杂性。下面我们将详细探讨Spring JDBC的核心概念、工作原理以及如何...

    simple-jdbctemplate-1.5.3.zip_Java编程_Java_

    在Spring的众多模块中,`SimpleJdbcTemplate`是数据库操作的一个重要工具,它简化了JDBC(Java Database Connectivity)的使用,提供了更加简洁和安全的API。本篇文章将深入探讨`SimpleJdbcTemplate`,分析其核心...

    spring-jdbc.rar_goldenw65_map25w_sellwof_spring-jdbc

    2. `SimpleJdbcTemplate`:它是`JdbcTemplate`的一个简化版本,更易于使用,但功能稍显有限。 3. `NamedParameterJdbcTemplate`:支持使用命名参数的SQL查询,提高了代码可读性。 4. `TransactionTemplate`:提供了...

    spring.jdbc-3.0.5.jar

    这两个基类为自定义DAO提供了便利,它们提供了对JdbcTemplate或SimpleJdbcTemplate的引用,减少了重复代码。 10. **Best Practices** - 使用PreparedStatement而非Statement,防止SQL注入。 - 合理配置事务边界...

    Spring 2.5.6和3.0 所有的jar包

    3. **JDBC抽象层增强**:Spring 3.0改进了JdbcTemplate和SimpleJdbcTemplate,同时引入了NamedParameterJdbcTemplate,提供了更方便的参数绑定。 4. **Spring MVC增强**:对Spring MVC进行了大量优化,增加了...

    spring-demo

    它提供了一个JdbcTemplate和SimpleJdbcTemplate接口,简化了SQL的执行和结果集的处理。通过Transaction Management,Spring还能处理事务控制,确保数据的一致性。 2. **Spring MVC**: Spring MVC是Spring框架的一...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    spring-framework-3.0源码地址

    新的JdbcTemplate和SimpleJdbcTemplate提供了简化数据库操作的API,而JPA和Hibernate支持则让你可以无缝集成ORM框架。 4. **MVC(Model-View-Controller)**:Spring MVC是构建Web应用的主要组件。在3.0版本中,它...

    spring-3.0.5.jar

    通过`JdbcTemplate`和`SimpleJdbcTemplate`,开发者可以方便地进行数据库操作,而无需过多关注底层细节。同时,ORM(对象关系映射)的支持也更加完善,如对Hibernate的进一步整合,使得数据库操作更为简洁和高效。 ...

    spring-framework-3.0

    对于数据访问,Spring 3.0增强了对JDBC、Hibernate和JPA的支持,提供了统一的数据访问抽象,如`JdbcTemplate`和`SimpleJdbcTemplate`,简化了数据库操作。 7. **MVC框架** Spring 3.0的Web MVC框架引入了模型视图...

Global site tag (gtag.js) - Google Analytics