- 浏览: 171125 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
扬帆蓝天:
很好
Myeclipse项目不编译,项目上有个感叹号。 -
RAYFUXK:
DataSource的配置的XML的文件怎么写?
SpringJdbc的几种不同的用法 -
mengfei86:
...
jdk6中String对象isEmpty()方法 -
xunke515:
挺好~,感谢
java科学计数法转普通计数法字符串简易方法 -
longe_mail:
content.trim()调用的不是 jQuery.trim ...
解决JQuery.trim()函数ie下报错的问题
Spring对jdbc做了良好的封装,本人在学习时做了以下几种方式的尝试
首页先来创建一个dao接口
第一种方式通过继承JdbcDaoSupport来获取JdbcTemplate,需要注入JdbcTemplate
配置文件如下:
JdbcTemplate提供了众多的对数据库操作的方法
第二种方法是组合JdbcTemplate,因为JdbcTemplate的创建需要注入DataSource,所以这里只需要直接注入DataSource就可以
配置文件
第三种方法是继承SimpleJdbcDaoSupport,通过SimpleJdbcDaoSupport可以获取SimpleJdbcTemplate,SimpleJdbcTemplate里也提供了大量的操作数据库的方法,因为SimpleJdbcDaoSupport继承了JdbcDaoSupport,所有可以获得JdbcTemplate,JdbcTemplate相对SimpleJdbcTemplate提供了更多和更高级的一些操作的方法,根据需要来使用,这里只需要直接注入JdbcTemplate,因为SimpleJdbcTemplate是通过JdbcTemplate来创建的
配置如下:
第四种直接组合SimpleJdbcTemplate,因为SimpleJdbcTemplate的创建是需要DataSource的,所以需要注入DataSource
配置文件:
第五种方法也是组全JdbcTemplate,直接注入JdbcTemplate,而不是DataSource ,因为在JdbcTemplate中已经注入了DataSource
配置如下
其实方法还有很多种,关键是看你是需要继承还是组合,需要注入的对象是什么!
首页先来创建一个dao接口
package com.wys.dao; public interface IUserDao { void save(); }
第一种方式通过继承JdbcDaoSupport来获取JdbcTemplate,需要注入JdbcTemplate
package com.wys.dao.impl; import java.util.Map; import org.springframework.jdbc.core.support.JdbcDaoSupport; import com.wys.dao.IUserDao; public class UserDaoImpl extends JdbcDaoSupport implements IUserDao { @Override public void save() { String sql = "**********"; Map<String,?> map = this.getJdbcTemplate().queryForMap(sql); System.out.println("成功!"); } }
配置文件如下:
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="userImpDao" class="com.wys.dao.impl.UserDaoImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> </bean>
JdbcTemplate提供了众多的对数据库操作的方法
第二种方法是组合JdbcTemplate,因为JdbcTemplate的创建需要注入DataSource,所以这里只需要直接注入DataSource就可以
package com.wys.dao.impl; import java.util.Map; import javax.sql.DataSource; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; import org.springframework.jdbc.core.support.JdbcDaoSupport; import com.wys.dao.IUserDao; public class UserDao2Impl implements IUserDao { private JdbcTemplate jdbcTemplate; @Override public void save() { String sql = "******"; Map<String,?> map = this.jdbcTemplate.queryForMap(sql); System.out.println("成功!"); } //注入DataSource public void setDataSource(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); } }
配置文件
<bean id="userImpl2Dao" class="com.wys.dao.impl.UserDao2Impl"> <property name="dataSource" ref="dataSource" /> </bean>
第三种方法是继承SimpleJdbcDaoSupport,通过SimpleJdbcDaoSupport可以获取SimpleJdbcTemplate,SimpleJdbcTemplate里也提供了大量的操作数据库的方法,因为SimpleJdbcDaoSupport继承了JdbcDaoSupport,所有可以获得JdbcTemplate,JdbcTemplate相对SimpleJdbcTemplate提供了更多和更高级的一些操作的方法,根据需要来使用,这里只需要直接注入JdbcTemplate,因为SimpleJdbcTemplate是通过JdbcTemplate来创建的
package com.wys.dao.impl; import java.util.Map; import javax.sql.DataSource; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; import org.springframework.jdbc.core.support.JdbcDaoSupport; import com.wys.dao.IUserDao; public class UserDao3Impl extends SimpleJdbcDaoSupport implements IUserDao { @Override public void save() { String sql = "***"; Map<String,Object> map = this.getSimpleJdbcTemplate().queryForMap(sql);//SimpleJdbcTemplate Map<String,Object> map2 = this.getJdbcTemplate().queryForMap(sql);//JdbcTemplate System.out.println("成功!"); } }
配置如下:
<bean id="userImpl3Dao" class="com.wys.dao.impl.UserDao3Impl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> </bean>
第四种直接组合SimpleJdbcTemplate,因为SimpleJdbcTemplate的创建是需要DataSource的,所以需要注入DataSource
package com.wys.dao.impl; import java.util.Map; import javax.sql.DataSource; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; import org.springframework.jdbc.core.support.JdbcDaoSupport; import com.wys.dao.IUserDao; public class UserDao4Impl implements IUserDao { private SimpleJdbcTemplate jdbcTemplate; @Override public void save() { String sql = "******"; Map<String,?> map = this.jdbcTemplate.queryForMap(sql); System.out.println("成功!"); } public void setDataSource(DataSource dataSource) { jdbcTemplate = new SimpleJdbcTemplate(dataSource); } }
配置文件:
<bean id="userImpl4Dao" class="com.wys.dao.impl.UserDao4Impl"> <property name="dataSource" ref="dataSource" /> </bean>
第五种方法也是组全JdbcTemplate,直接注入JdbcTemplate,而不是DataSource ,因为在JdbcTemplate中已经注入了DataSource
package com.wys.dao.impl; import java.util.Map; import javax.sql.DataSource; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; import org.springframework.jdbc.core.support.JdbcDaoSupport; import com.wys.dao.IUserDao; public class UserDao5Impl implements IUserDao { private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @Override public void save() { String sql = "*****"; Map<String,?> map = this.jdbcTemplate.queryForMap(sql); System.out.println("成功!"); } }
配置如下
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="userImpl5Dao" class="com.wys.dao.impl.UserDao5Impl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> </bean>
其实方法还有很多种,关键是看你是需要继承还是组合,需要注入的对象是什么!
发表评论
-
获取java的修饰符
2014-08-19 14:17 2097通过java中的Modifier类可以获取接口、类等支持的修饰 ... -
网页中提取email
2012-10-24 16:48 2139从百度上找出的一用正则提取网页中email的例子,供自己和大家 ... -
从文本文件中提取email
2012-10-24 16:40 2090用正则表达式提取出文本文件中所有的email Buffe ... -
String的replaceAll方法中$符合的使用
2012-10-24 14:49 1907在String的replaceAll中除了反斜线 (\)用来转 ... -
form表单target的用法
2012-06-28 21:39 9060偶然有一机会发现form表单的target的用法,可以实现当前 ... -
java科学计数法转普通计数法字符串简易方法
2012-02-20 15:37 16938java科学计数法转普通计数法字符串简易方法,不需要forma ... -
java枚举在struts2中的应用
2011-12-08 09:54 2406平常很少用java的枚举,也时常在想怎么来用它,最近结合str ... -
struts2源码分析获取request response session
2011-11-17 12:59 3774网上介绍有两种获取request,response和sessi ... -
解决JQuery.trim()函数ie下报错的问题
2011-11-16 16:53 10710经常碰到JQuery里的trim()函数在firefox支持, ... -
struts2标签与jstl标签的混合使用
2011-11-16 11:16 61981.以前一直使用jstl标签,后来也开始使用struts2的一 ... -
struts2标签中使用三元表达式
2011-11-14 14:24 3621在struts2的标签中使用三元表达式,第一次使用时尽然没有成 ... -
java创建Timestamp的几种方式
2011-11-11 14:56 15775java创建Timestamp的几种方式,目前总结了以下几种 ... -
struts2标签之<s:checkboxlist>回显
2011-11-10 13:19 6683struts2标签<s:checkboxlist> ... -
struts2标签之<s:checkboxlist>默认选中
2011-11-09 16:27 67371.默认先中一个 <s:checkboxlist n ... -
jsp注释
2011-08-16 16:09 1009在jsp中可以使用注释<!-- --!>和< ... -
Myeclipse项目不编译,项目上有个感叹号。
2011-08-11 22:13 6010今天换电脑,重新安装了myeclipse,导过来的项目上有个感 ... -
jdk api中文帮助文档
2011-08-02 11:24 1456换工作换环境时经常要下载 1.6API文档(中文)的下载地址: ... -
解决jsp输出一大堆空白的问题
2011-06-10 08:36 1220经常在servlet或jsp中调用 out.print(&qu ... -
myeclipse svn下查找文件日志
2011-05-12 18:20 1984在myeclipse中使用svn插件进行版本控制时,由于项目太 ... -
新手学习安装jdk的过程
2011-03-05 12:21 1150我是个linux的新手,虽然在同事的帮助下也用过那么好几回,但 ...
相关推荐
本篇将深入探讨Spring JDBC的核心概念、使用方法以及它如何通过JdbcTemplate对象简化JDBC的开发。 首先,让我们了解Spring JDBC的基本理念。Spring JDBC的目标是减少传统JDBC代码的复杂性和易错性,通过提供一套...
在Spring JDBC中,主要涉及到以下几个关键概念: 1. **JdbcTemplate**: 这是Spring JDBC的核心接口,提供了大量用于执行SQL语句的方法,如`update()`, `query()`, `call()`, 等。这些方法能自动处理数据源连接的...
Spring JDBC模块的主要目标是减少对JDBC API的直接依赖,通过提供一种更加高级、易于使用的编程模型来简化数据库访问。在这个“spring_jdbc_4.0.0.zip”压缩包中,包含的是Spring JDBC 4.0.0版本的jar文件,即...
Spring JDBC是Spring框架的一部分,它简化了JDBC编程模型,提供了一种更简单、更高效的方式来处理数据库交互。通过Spring JDBC,开发者可以减少对JDBC API的手动错误处理和资源管理,从而能够更加专注于业务逻辑的...
Spring JDBC是Spring框架的一部分,它提供了一种抽象层,使得开发者可以更方便地使用Java数据库连接(JDBC)来操作数据库。在这个实例源码中,我们看到的是一个基于`epet`宠物项目的完整实现,该项目可能包括了创建...
Spring JDBC 不仅简化了对 JDBC 的使用,还通过集成 Apache DBCP 和 C3P0 两种数据源实现提供了丰富的配置选项。开发人员可以根据具体的应用场景和需求选择合适的数据源,从而提高应用程序的性能和稳定性。通过对...
"Spring JDBC入门 - SangS - 博客园.url" 和 "SpringJdbc的几种不同的用法 - 低调开发 - ITeye技术网站.url" 可能包含了一些关于如何使用SpringJDBC的基本教程和高级技巧,包括批处理操作、动态SQL和自定义SQL查询等...
描述中的博客链接指向了 iteye.com 上的一篇博客文章,虽然具体内容无法在这里直接引用,但通常这样的文章会涵盖 Spring JDBC 的基础概念、配置、使用方法,以及可能包括一些最佳实践或常见问题的解决方案。...
通过使用模板方法设计模式,Spring-JdbcTemplate能够在不牺牲灵活性的同时,保证了代码的简洁性和可维护性。 接着,让我们来看看DataSourceTransactionManager,它是Spring提供的事务管理器,主要用于管理基于...
【标题】"Spring mvc + Spring + Spring jdbc 整合 demo.rar" 提供了一个整合了Spring MVC、Spring和Spring JDBC的示例项目。这个压缩包包含了一整套使用Java EE技术栈开发的Web应用程序,主要关注于后端数据处理和...
Spring JDBC是Spring框架中用于简化JDBC操作的重要模块,它提供了一种更加方便、灵活的方式来处理数据库交互。本资源“spring-jdbc.rar”包含的资料旨在帮助开发者理解并掌握Spring JDBC的基本原理和核心功能,从而...
Spring可以独立使用,也可以与Struts、Mybatis等其他框架整合使用,为企业级应用开发提供了一种低耦合度的解决方案。Spring框架主要包括以下几个方面的内容: 1. 依赖注入(IOC):依赖注入是Spring框架的核心功能...
Spring JDBC是Spring框架的一部分,它提供了一种抽象层,使得我们能够更方便地使用Java的JDBC(Java Database Connectivity)来处理数据库操作。这个模块的主要目标是简化数据库访问,同时保持JDBC的强大功能,避免...
`JdbcTemplate`是Spring提供的一种模板方法模式实现,它封装了JDBC的常用操作,如执行SQL查询、更新等,提供了异常转换和数据源管理等功能。通过使用`JdbcTemplate`,开发者可以编写出更简洁、更健壮的数据库访问...
以下将详细阐述Spring对DAO支持的几种配置方式: 1. **JDBC DAO支持:** Spring通过`JdbcTemplate`和`SimpleJdbcInsert`等类提供了对JDBC的抽象,减少了直接使用JDBC代码的繁琐性。`JdbcTemplate`提供了一组模板...
在Java开发中,Spring JDBC是Spring...总的来说,Spring JDBC提供了强大的批量处理能力,通过`NamedParameterJdbcTemplate`的`batchUpdate`方法,我们可以轻松地实现数据的批量插入和更新,有效提升数据库操作的效率。
5. **数据库事务的隔离级别和传播行为**:Spring定义了不同的事务传播行为,如REQUIRED、REQUIRES_NEW等,以及四种常见的事务隔离级别,如READ_UNCOMMITTED、READ_COMMITTED等,这些都可以在配置中设置。 6. **...
在“spring 整合全部jar包”中,我们涉及了Spring框架的几个关键模块:Spring IOC(Inversion of Control,控制反转)、Spring AOP(Aspect Oriented Programming,面向切面编程)、Spring JDBC(Java Database ...
Spring4对JDBC的支持旨在简化数据库访问,提供了一种更高级别的抽象,以减少手动处理JDBC时的繁琐工作。这一章将深入探讨Spring4如何通过其JDBC抽象层来提升开发效率和代码的可维护性。 【描述】 这篇博客可能详细...