`
黯然小伙
  • 浏览: 4898 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SpringJdbcTemplate 学习查询小结

阅读更多

由于工作需要,数据交互层需要用jdbctemplate,于是学习了下,备忘:

 

Name:SpringJdbcTemplate

What:springjdbc封装了繁琐的jdbc直连代码,通过简单的设置,在spring下更好的进行事务管理,它抽象出了一些我们常用的操作方法,使用起来简单而高效。

Where:在数据库底层拥有复杂的表结构,以及大数据量操作时,使用起来相当的简便,尤其它是与spring相结合,如果开发框架中使用spring,那么jdbctemplate是最好的选择。

Why:使用起来简单,且高效。

How
1、 在spring的配置文件中导包并设置datasource数据源,导包如下:



数据源如下(采用外联jdbc.properties):

 

	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<value>classpath:jdbc.properties</value>
		</property>
	</bean>
	
	<bean id="dataSource" destroy-method="close"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
	</bean>

 
2、 如下书写配置

	<!-- jdbc连接,所有dao的bean中spring配置必须继承此bean -->
	<bean id="jdbcdao"
		class="org.springframework.jdbc.core.JdbcTemplate" abstract="true">
		<property name="dataSource">
			<ref local="dataSource"></ref>
		</property>
	</bean>

 

 
3、 在dao的bean中继承此bean,如下:

 

	<bean id="userDao" class="bin.spring.jdbctemplate.dao.UserDao" parent="jdbcdao"/>
 

 


4、 接下来在dao的实现类中让它继承JdbcDaoSupport,便可以使用封装的方法。
public class UserDao extends JdbcDaoSupport
5、 这里介绍一种多行查询,其中User为模型类,里面4个属性,数据库的表为t_user:

 

	 /** 
	 * 查询多行
	 *
	 * @return
	 */
	 public List<User> getList(){
		String sql = "select * from t_user";
		List<User> list = getJdbcTemplate().query(sql, new RowMapper(){
			//index为查询出数据每列的下标,从0开始
			public Object mapRow(ResultSet rs, int index) throws SQLException {
				User user = new User();
				user.setId(rs.getInt("u_id"));
				user.setName(rs.getString("u_name"));
				user.setPassword(rs.getString("u_password"));
				return user;
			}});
		return list;
	}

 
6、 单列查询:

 

	 /** 
	 * 查询单列
	 *
	 * @param id
	 * @return
	 */
	 public String getUserNameById(final int id){
		String sql = "select t.u_name from t_user t where t.u_id = ?";
		return (String)getJdbcTemplate().query(sql, new PreparedStatementSetter(){
			//PreparedStatementSetter的回调
			public void setValues(PreparedStatement ps) throws SQLException {
				ps.setInt(1, id);
				
			}}, new ResultSetExtractor(){
			//ResultSetExtractor的回调
			public Object extractData(ResultSet rs) throws SQLException,
					DataAccessException {
				if (rs.next()) {
					System.out.println(rs.getString(1));
			        return rs.getString(1);
			    }
				return null;
			}});
	}
 

 

7、 单行查询:

	 /** 
	 * 查询单行
	 *
	 * @param id
	 * @param name
	 * @return
	 */
	 public User getUserById(final int id,final String name){
		String sql = "select * from t_user t where t.u_id = ? and t.u_name = ?";
		final User user = new User();
		getJdbcTemplate().query(sql, new Object[]{id,name}, new RowCallbackHandler(){

			public void processRow(ResultSet rs) throws SQLException {
				user.setId(rs.getInt(1));
				user.setName(rs.getString(2));
				user.setPassword(rs.getString(3));
				
			}});
		return user;
	}

 

总结:虽然只做了查询,但不难看出,增删改的操作,及其他的方法的设置,参数的使用上基本上都大同小异。

 

 

  • 大小: 14.8 KB
分享到:
评论

相关推荐

    基于注解的Spring JdbcTemplate

    本教程将深入探讨如何使用基于注解的Spring JdbcTemplate进行数据库操作,特别适合初学者入门学习。 ### 1. Spring JdbcTemplate简介 Spring JdbcTemplate提供了一个面向对象的接口,用于执行SQL查询、更新和存储...

    Spring JdbcTemplate查询实例

    在本实例中,我们将深入探讨Spring JdbcTemplate的查询功能及其在实际应用中的使用。 首先,Spring JdbcTemplate通过提供一系列的模板方法,如`queryForList`、`queryForObject`、`execute`等,使得执行SQL查询变得...

    SpringJdbcTemplate封装工具类

    SpringJdbcTemplate支持分页查询,通过`SimpleJdbcCall`或`NamedParameterJdbcCall`类,可以配合`RowCallbackHandler`或`ResultSetExtractor`处理分页结果。此外,还可以使用`JdbcPagingItemReader`作为Spring ...

    spring-jdbcTemplate实例工程

    《深入解析Spring JdbcTemplate》 Spring JDBC Template是Spring框架中...这个实例工程为我们提供了一个学习和实践Spring JdbcTemplate的良好平台,通过对其中代码的分析和运行,可以更好地理解和掌握其用法和精髓。

    Spring JdbcTemplate

    Spring JdbcTemplate接口提供了丰富的API,用于执行SQL查询、更新、插入、删除等操作。它抽象了数据库连接管理、事务控制等复杂过程,使代码更加简洁、易于测试。例如,`queryForList(String sql, Class&lt;T&gt; element...

    Druid数据库连接池的SpringJDBCTemplate所需的jar包

    Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,...

    模仿spring jdbcTemplate的实现

    模仿spring jdbcTemplate的粗略实现,只有很小的参考价值,如果是java初学者可以使用这个封装好的工具进行数据库操作,只需要在db.properties里配置好driver,url等信息

    Spring JDBCTemplate连接池jar包

    3. `spring-jdbc-5.0.0.RELEASE.jar`:包含Spring对JDBC的支持,包括JDBCTemplate和DataSourceTransactionManager,它们是与数据库交互和管理事务的关键。 4. `spring-tx-5.0.0.RELEASE.jar`:提供了事务管理功能,...

    Spring JdbcTemplate 常用方法整理

    Spring的JdbcTemplate是Spring框架中用于简化数据库操作的工具类,它是基于JDBC但又抽象出了一层,避免了直接与数据库驱动API交互,从而提高了代码的可读性和可维护性。本文将深入探讨Spring JdbcTemplate的常用方法...

    Spring JdbcTemplate调用Oracle存储过程实现CRUD

    使用 Spring JdbcTemplate 调用 Oracle 存储过程实现 CRUD 在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储...

    strut2+spring+springjdbctemplate做的简易登录系统

    Struts2、Spring和Spring JDBC Template是Java Web开发中常用的三个框架,它们分别负责不同的职责。Struts2作为MVC(Model-View-Controller)框架,主要处理前端请求和业务逻辑;Spring则是一个全面的后端框架,提供...

    使用Spring的JdbcTemplate实现分页功能

    使用Spring的JdbcTemplate实现分页功能

    Spring JdbcTemplate例子

    Spring JdbcTemplate是Spring框架中的一个核心组件,主要用来简化数据库操作。它提供了一种模板方法设计模式,将SQL语句的执行与结果处理进行了抽象,使得开发者可以更加专注于业务逻辑,而无需关心底层数据访问的...

    Spring JdbcTemplate api

    根据给定的文件信息,以下是对“Spring JdbcTemplate API”的详细知识点解析: ### Spring JdbcTemplate API:数据库操作的模板模式 #### 概述 在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,...

    使用Spring JDBCTemplate进行增删改查curd操作

    在Spring框架中,JdbcTemplate是用于简化数据库操作的重要工具,它是Spring JDBC模块的一部分。通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文...

    Spring 学习 JdbcTemplate,模板模式,回调

    本主题将深入探讨Spring框架中的JdbcTemplate组件,以及模板模式和回调机制的概念。 **1. Spring JdbcTemplate** JdbcTemplate是Spring提供的一个用于简化数据库操作的API,它是Spring对JDBC(Java Database ...

    Spring JdbcTemplate.batchUpdate 例子

    在Spring框架中,`JdbcTemplate`是用于简化Java数据库连接(JDBC)操作的一个核心组件。这个类提供了很多方法来执行SQL查询、更新语句,包括批处理操作。本篇文章将详细探讨`batchUpdate`方法及其在实际开发中的应用...

    spring jdbcTemplate 源码

    Spring JDBCTemplate是Spring框架中的一个核心组件,它提供了一种简化数据库操作的抽象层,使得开发者可以更加方便、高效地处理数据库事务。本篇将深入探讨Spring JDBCTemplate的使用及其源码解析,帮助你理解其背后...

    Spring jdbctemplate + mysql 分页封装

    本文将深入探讨如何利用Spring的JdbcTemplate进行MySQL数据库的分页查询,并对其进行封装,提高代码的复用性和可维护性。 首先,了解Spring JdbcTemplate的基本用法。JdbcTemplate是Spring提供的一个模板类,用于...

    spring JdbcTemplate query方法使用示例

    spring JdbcTemplate query方法使用示例,欢迎下载借鉴

Global site tag (gtag.js) - Google Analytics