JdbcTemplate:Spring里最基础的JDBC模板,利用JDBC和简单的索引参数查询提供对数据库的简单访问。并提供RowMapper实现半自动化数据库数据 bean的转化。
NameParameterJdbcTemplate:能够在执行查询时把值绑定到SQL里的命名参数,而不是索引参数。
SimpleJdbcTemplate:利用Java5的特性,比如自动装箱、通用(generic)和可变参数列表来简化JDBC模板的使用。
用一下:
---
"jdbcTemplate":
-----
namedParameterJdbcTemplate:
--------
simpleJdbcTemplate:
----
用法大体上如上
基本上就是Simple包含了,Name和Template,不过也不是所有的地方都可以用Simple哦
NameParameterJdbcTemplate:能够在执行查询时把值绑定到SQL里的命名参数,而不是索引参数。
SimpleJdbcTemplate:利用Java5的特性,比如自动装箱、通用(generic)和可变参数列表来简化JDBC模板的使用。
用一下:
- <?xml version="1.0"encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"
- xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:jee="http://www.springframework.org/schema/jee"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
- http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
- <importresource="classpath:bean-jdbc.xml"/>
- <!--
- JdbcTemplate:Spring里最基础的JDBC模板,利用JDBC和简单的索引参数查询提供对数据库的简单访问。并提供RowMapper实现半自动化数据库数据 bean的转化。
- NameParameterJdbcTemplate:能够在执行查询时把值绑定到SQL里的命名参数,而不是索引参数。
- SimpleJdbcTemplate:利用Java5的特性,比如自动装箱、通用(generic)和可变参数列表来简化JDBC模板的使用。
- -->
- <bean id="jdbcTemplate"class="org.springframework.jdbc.core.JdbcTemplate">
- <property name="dataSource"ref="dataSource"></property>
- </bean>
- <bean id="namedParameterJdbcTemplate"class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
- <constructor-arg ref="dataSource"/>
- </bean>
- <bean id="simpleJdbcTemplate"class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
- <constructor-arg ref="dataSource"/>
- </bean>
- <bean id="helloJdbcTemplate"class="cn.partner4java.template.impl.HelloJdbcTemplateBean">
- <property name="jdbcTemplate"ref="jdbcTemplate"></property>
- </bean>
- <bean id="helloNamedParameterJdbcTemplate"class="cn.partner4java.template.impl.HelloNamedParameterJdbcTemplateBean">
- <property name="namedParameterJdbcTemplate"ref="namedParameterJdbcTemplate"/>
- </bean>
- <bean id="helloSimpleJdbcTemplate"class="cn.partner4java.template.impl.HelloSimpleJdbcTemplateBean">
- <property name="simpleJdbcTemplate"ref="simpleJdbcTemplate"/>
- </bean>
- </beans>
---
"jdbcTemplate":
- packagecn.partner4java.template;
- importcn.partner4java.bean.User;
- /**
- * JdbcTemplate 测试
- * @author wangchanglong
- *
- */
- publicinterfaceHelloJdbcTemplate {
- /**
- * 保存测试
- * @param user
- */
- publicvoidsaveUser(User user);
- /**
- * 获取
- * @param id 索引
- * @return
- */
- publicUser getUserById(intid);
- }
- packagecn.partner4java.template.impl;
- importjava.sql.ResultSet;
- importjava.sql.SQLException;
- importjava.util.List;
- importorg.springframework.jdbc.core.JdbcTemplate;
- importorg.springframework.jdbc.core.RowMapper;
- importcn.partner4java.bean.User;
- importcn.partner4java.template.HelloJdbcTemplate;
- /**
- * JdbcTemplate 测试
- * @author wangchanglong
- *
- */
- publicclassHelloJdbcTemplateBeanimplementsHelloJdbcTemplate {
- privateJdbcTemplate jdbcTemplate;
- publicvoidsetJdbcTemplate(JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
- publicUser getUserById(intid) {
- List users = jdbcTemplate.query(USER_SELECT,newObject[]{id},newRowMapper() {
- publicObject mapRow(ResultSet rs,introwNum)throwsSQLException {
- User user =newUser();
- user.setId(rs.getInt(1));
- user.setUsername(rs.getString(2));
- user.setPassword(rs.getString(3));
- returnuser;
- }
- }) ;
- returnusers.size() >0? (User)users.get(0):null;
- }
- privatestaticfinalString USER_SELECT ="select id,username,password from user where id = ?";
- publicvoidsaveUser(User user) {
- jdbcTemplate.update(USER_INSERT,newObject[] {user.getUsername(),user.getPassword()});
- }
- privatestaticfinalString USER_INSERT ="insert into user (username, password) values (?,?)";
- }
- packagecn.partner4java.template.junit;
- importorg.springframework.context.ApplicationContext;
- importorg.springframework.context.support.ClassPathXmlApplicationContext;
- importcn.partner4java.bean.User;
- importcn.partner4java.template.HelloJdbcTemplate;
- importjunit.framework.TestCase;
- publicclassHelloJdbcTemplateBeanTestextendsTestCase {
- privateHelloJdbcTemplate helloJdbcTemplate;
- @Override
- protectedvoidsetUp()throwsException {
- ApplicationContext ac =newClassPathXmlApplicationContext("beans-jdbctemplate.xml");
- helloJdbcTemplate = (HelloJdbcTemplate) ac.getBean("helloJdbcTemplate");
- }
- publicvoidtestSaveUser(){
- User user =newUser();
- user.setUsername("心烦鸟");
- user.setPassword("123");
- helloJdbcTemplate.saveUser(user);
- }
- publicvoidtestGetUserById(){
- System.out.println(helloJdbcTemplate.getUserById(1));
- }
- }
-----
namedParameterJdbcTemplate:
- packagecn.partner4java.template;
- importcn.partner4java.bean.User;
- /**
- * 测试 NamedParameterJdbcTemplate
- * @author wangchanglong
- *
- */
- publicinterfaceHelloNamedParameterJdbcTemplate {
- publicvoidsaveUser(User user);
- }
- packagecn.partner4java.template.impl;
- importjava.util.HashMap;
- importjava.util.Map;
- importorg.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
- importcn.partner4java.bean.User;
- importcn.partner4java.template.HelloNamedParameterJdbcTemplate;
- /**
- * 测试 NamedParameterJdbcTemplate
- * @author wangchanglong
- *
- */
- publicclassHelloNamedParameterJdbcTemplateBeanimplements
- HelloNamedParameterJdbcTemplate {
- privateNamedParameterJdbcTemplate namedParameterJdbcTemplate;
- publicvoidsetNamedParameterJdbcTemplate(
- NamedParameterJdbcTemplate namedParameterJdbcTemplate) {
- this.namedParameterJdbcTemplate = namedParameterJdbcTemplate;
- }
- publicvoidsaveUser(User user) {
- Map parameters =newHashMap();
- parameters.put("username", user.getUsername());
- parameters.put("password", user.getPassword());
- namedParameterJdbcTemplate.update(USER_INERT, parameters);
- }
- privatestaticfinalString USER_INERT ="insert into user (username,password) values (:username, :password)";
- }
- packagecn.partner4java.template.junit;
- importorg.springframework.context.ApplicationContext;
- importorg.springframework.context.support.ClassPathXmlApplicationContext;
- importcn.partner4java.bean.User;
- importcn.partner4java.template.HelloNamedParameterJdbcTemplate;
- importjunit.framework.TestCase;
- publicclassHelloNamedParameterJdbcTemplateBeanTestextendsTestCase {
- privateHelloNamedParameterJdbcTemplate helloNamedParameterJdbcTemplate;
- @Override
- protectedvoidsetUp()throwsException {
- super.setUp();
- ApplicationContext ac =newClassPathXmlApplicationContext("beans-jdbctemplate.xml");
- helloNamedParameterJdbcTemplate = (HelloNamedParameterJdbcTemplate) ac.getBean("helloNamedParameterJdbcTemplate");
- }
- publicvoidtestSaveUser(){
- User user =newUser();
- user.setUsername("面霸");
- user.setPassword("123");
- helloNamedParameterJdbcTemplate.saveUser(user);
- }
- }
--------
simpleJdbcTemplate:
- packagecn.partner4java.template;
- importcn.partner4java.bean.User;
- /**
- * 测试 simpleJdbcTemplate
- * @author wangchanglong
- *
- */
- publicinterfaceHelloSimpleJdbcTemplate {
- publicvoidsaveUser(User user);
- }
- packagecn.partner4java.template.impl;
- importjava.util.HashMap;
- importjava.util.Map;
- importorg.springframework.jdbc.core.simple.SimpleJdbcTemplate;
- importcn.partner4java.bean.User;
- importcn.partner4java.template.HelloSimpleJdbcTemplate;
- /**
- * 测试 simpleJdbcTemplate
- * @author wangchanglong
- *
- */
- publicclassHelloSimpleJdbcTemplateBeanimplementsHelloSimpleJdbcTemplate {
- privateSimpleJdbcTemplate simpleJdbcTemplate;
- publicvoidsetSimpleJdbcTemplate(SimpleJdbcTemplate simpleJdbcTemplate) {
- this.simpleJdbcTemplate = simpleJdbcTemplate;
- }
- publicvoidsaveUser(User user) {
- Map parameters =newHashMap();
- parameters.put("username", user.getUsername());
- parameters.put("password", user.getPassword());
- //下面两种都可以
- simpleJdbcTemplate.update(USER_INERT, parameters);
- //simpleJdbcTemplate.update(USER_INSERT,user.getUsername(), user.getPassword());
- }
- privatestaticfinalString USER_INERT ="insert into user (username,password) values (:username, :password)";
- privatestaticfinalString USER_INSERT ="insert into user (username, password) values (?,?)";
- }
- packagecn.partner4java.template.junit;
- importorg.springframework.context.ApplicationContext;
- importorg.springframework.context.support.ClassPathXmlApplicationContext;
- importcn.partner4java.bean.User;
- importcn.partner4java.template.HelloSimpleJdbcTemplate;
- importjunit.framework.TestCase;
- publicclassHelloSimpleJdbcTemplateBeanTestextendsTestCase {
- privateHelloSimpleJdbcTemplate helloSimpleJdbcTemplate;
- @Override
- protectedvoidsetUp()throwsException {
- ApplicationContext ac =newClassPathXmlApplicationContext("beans-jdbctemplate.xml");
- helloSimpleJdbcTemplate = (HelloSimpleJdbcTemplate) ac.getBean("helloSimpleJdbcTemplate");
- }
- publicvoidtestSaveUser(){
- User user =newUser();
- user.setUsername("心烦鸟");
- user.setPassword("123");
- helloSimpleJdbcTemplate.saveUser(user);
- }
- }
----
用法大体上如上
基本上就是Simple包含了,Name和Template,不过也不是所有的地方都可以用Simple哦