Spring JdbcTemplate用法整理:

xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">
<bean id="dbcpds" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@10.1.7.148:1521:ora11"></property>
<property name="username" value="tds1ml1"></property>
<property name="password" value="tds1ml1"></property>
<property name="initialSize" value="5"></property>
<property name="maxActive" value="10"></property>
</bean>
<bean id="sprds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@10.1.7.148:1521:ora11"></property>
<property name="username" value="tds1ml1" />
<property name="password" value="tds1ml1" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dbcpds"></constructor-arg>
</bean>
<bean id="namedJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dbcpds"></constructor-arg>
</bean>
<bean id="jdbcSpitterDAO" class="com.stono.sprjdbc.JdbcSpitterDAO">
<property name="template" ref="jdbcTemplate"></property>
<property name="namedJdbcTemplate" ref="namedJdbcTemplate"></property>
</bean>
<bean id="jdbcSpitter2DAO" class="com.stono.sprjdbc.JdbcSpitter2Dao">
<property name="dataSource" ref="dbcpds"></property>
</bean>
</beans>

DAO Interface:

package com.stono.sprjdbc;
import java.util.Map;
public interface SpitterDAO {
void insertSpitter(SpitterObj obj);
void namedInsertSpitter(Map<String, Object> map);
void updateSpitter(SpitterObj obj);
void deleteSpitter(SpitterObj obj);
SpitterObj getSpitter(String ljdm);
}

POJO:

package com.stono.sprjdbc;
public class SpitterObj {
private String ljdm;
private String ljpym;
public String getLjdm() {
return ljdm;
}
public void setLjdm(String ljdm) {
this.ljdm = ljdm;
}
public String getLjpym() {
return ljpym;
}
public void setLjpym(String ljpym) {
this.ljpym = ljpym;
}
}

Use JdbcTemplate:

package com.stono.sprjdbc;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
public class JdbcSpitterDAO implements SpitterDAO {
private JdbcTemplate template;
public void setTemplate(JdbcTemplate template) {
this.template = template;
}
private NamedParameterJdbcTemplate namedJdbcTemplate;
public void setNamedJdbcTemplate(NamedParameterJdbcTemplate namedJdbcTemplate) {
this.namedJdbcTemplate = namedJdbcTemplate;
}
private static String INSERT_SQL = "insert into ljzdtemp(ljdm,ljpym) values(?,?)";
private static String GET_SQL = "select * from ljzdtemp where ljdm = ?";
private static String UPDATE_SQL = "update ljzdtemp set ljpym=? where ljdm = ?";
private static String DEL_SQL = "delete ljzdtemp where ljdm = ?";
private static String NAMED_INSERT_SQL = "insert into ljzdtemp(ljdm,ljpym) values(:ljdm,:ljpym)";
@Override
public void insertSpitter(SpitterObj obj) {
template.update(INSERT_SQL, obj.getLjdm(), obj.getLjpym());
}
@Override
public void updateSpitter(SpitterObj obj) {
template.update(UPDATE_SQL, "aa", "a");
}
@Override
public void deleteSpitter(SpitterObj obj) {
template.update(DEL_SQL, "a");
}
@Override
public SpitterObj getSpitter(String ljdm) {
return template.queryForObject(GET_SQL, new RowMapper<SpitterObj>() {
@Override
public SpitterObj mapRow(ResultSet rs, int rowNum) throws SQLException {
SpitterObj obj = new SpitterObj();
obj.setLjdm(rs.getString(4));
obj.setLjpym(rs.getString(5));
return obj;
}
}, 'a');
}
@Override
public void namedInsertSpitter(Map<String, Object> map) {
namedJdbcTemplate.update(NAMED_INSERT_SQL, map);
}
}

Extends NamedParameterJdbcDaoSuport:

package com.stono.sprjdbc;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport;
public class JdbcSpitter2Dao extends NamedParameterJdbcDaoSupport implements SpitterDAO {
private static String INSERT_SQL = "insert into ljzdtemp(ljdm,ljpym) values(?,?)";
private static String GET_SQL = "select * from ljzdtemp where ljdm = ?";
private static String UPDATE_SQL = "update ljzdtemp set ljpym=? where ljdm = ?";
private static String DEL_SQL = "delete ljzdtemp where ljdm = ?";
private static String NAMED_INSERT_SQL = "insert into ljzdtemp(ljdm,ljpym) values(:ljdm,:ljpym)";
@Override
public void insertSpitter(SpitterObj obj) {
getJdbcTemplate().update(INSERT_SQL, obj.getLjdm(), obj.getLjpym());
}
@Override
public void namedInsertSpitter(Map<String, Object> map) {
getNamedParameterJdbcTemplate().update(NAMED_INSERT_SQL, map);
}
@Override
public void updateSpitter(SpitterObj obj) {
getJdbcTemplate().update(UPDATE_SQL, "aa", "a");
}
@Override
public void deleteSpitter(SpitterObj obj) {
getJdbcTemplate().update(DEL_SQL, "a");
}
@Override
public SpitterObj getSpitter(String ljdm) {
return getJdbcTemplate().queryForObject(GET_SQL, new RowMapper<SpitterObj>() {
@Override
public SpitterObj mapRow(ResultSet rs, int rowNum) throws SQLException {
SpitterObj obj = new SpitterObj();
obj.setLjdm(rs.getString(4));
obj.setLjpym(rs.getString(5));
return obj;
}
}, 'a');
}
}

AppBean:

package com.stono.sprjdbc;
import java.sql.Connection;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.dbcp.BasicDataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
public class AppBeans14 {
public static void main(String[] args) throws Exception {
@SuppressWarnings("resource")
ApplicationContext context = new ClassPathXmlApplicationContext("appbeans14.xml");
BasicDataSource dataSource = (BasicDataSource) context.getBean("dbcpds");
Connection connection = dataSource.getConnection();
System.out.println(connection);
DriverManagerDataSource sprDataSource = (DriverManagerDataSource) context.getBean("sprds");
Connection connection2 = sprDataSource.getConnection();
System.out.println(connection2);
// 普通sql查询
// String sql = "select * from ljzdtemp";
// PreparedStatement prepareStatement = connection.prepareStatement(sql);
// PreparedStatement prepareStatement = connection2.prepareStatement(sql);
// ResultSet resultSet = prepareStatement.executeQuery();
// while(resultSet.next()){
// System.out.println(resultSet.getString(1));
// }
SpitterDAO dao = (SpitterDAO) context.getBean("jdbcSpitterDAO");
// JdbcTemplate 插入
// SpitterObj obj = new SpitterObj();
// obj.setLjdm("a");
// obj.setLjpym("a");
// dao.insertSpitter(obj);
// Map<String, Object> map = new HashMap<String, Object>();
// map.put("ljdm", "a");
// map.put("ljpym", "b");
// dao.namedInsertSpitter(map);
SpitterDAO dao2 = (SpitterDAO) context.getBean("jdbcSpitter2DAO");
Map<String, Object> map = new HashMap<String, Object>();
map.put("ljdm", "b");
map.put("ljpym", "c");
dao2.namedInsertSpitter(map);
}
}

dbcp连接池需要的jar包:

commons-dbcp-1.4.jar commons-pool-1.6.jar

Spring JdbcTemplate用法整理的更多相关文章

  1. (转)Spring JdbcTemplate 方法详解

    Spring JdbcTemplate方法详解 文章来源:http://blog.csdn.net/dyllove98/article/details/7772463 JdbcTemplate主要提供 ...

  2. Java Spring AOP用法

    Java Spring AOP用法 Spring AOP Java web 环境搭建 Java web 项目搭建 Java Spring IOC用法 spring提供了两个核心功能,一个是IoC(控制 ...

  3. Java Spring IOC用法

    Java Spring IOC用法 Spring IoC 在前两篇文章中,我们讲了java web环境搭建 和 java web项目搭建,现在看下spring ioc在java中的运用,开发工具为In ...

  4. [转]Spring JdbcTemplate 查询分页

    原文:http://blog.csdn.net/xiaofanku/article/details/4280128 现在进行的项目由于数据库的遗留原因(设计的不堪入目)不能用hibernate.所以用 ...

  5. spring jdbcTemplate query

    1. spring jdbcTemplate query需要实现mapRow方法 package com.cdv.apolloagent.jdbc.dao.impl; import java.sql. ...

  6. Spring JdbcTemplate 的使用与学习(转)

    紧接上一篇 (JdbcTemplate是线程安全的,因此可以配置一个简单的JdbcTemplate实例,将这个共享的实例注入到多个DAO类中.辅助的文档) Spring DAO支持 http://ww ...

  7. Spring JdbcTemplate的queryForList(String sql , Class<T> elementType)易错使用--转载

    原文地址: http://blog.csdn.net/will_awoke/article/details/12617383 一直用ORM,今天用JdbcTemplate再次抑郁了一次. 首先看下这个 ...

  8. spring jdbcTemplate源码剖析

    本文浅析 spring jdbcTemplate 源码,主要是学习其设计精髓.模板模式.巧妙的回调 一.jdbcTemplate 类结构 ①.JdbcOperations : 接口定义了方法,如 &l ...

  9. 使用Spring JDBCTemplate简化JDBC的操作

    使用Spring JDBCTemplate简化JDBC的操作 接触过JAVA WEB开发的朋友肯定都知道Hibernate框架,虽然不否定它的强大之处,但个人对它一直无感,总感觉不够灵活,太过臃肿了. ...

随机推荐

  1. javascript 中的闭包

    在 javascript 中,函数可以当做参数传递,也可以当做返回值返回. 当一个函数内部返回值为一个函数时, 就形成了闭包.(闭包里面的 this 问题) 如下面代码 Function.protot ...

  2. tset

    test fsdfs jsjf sdfsdfsdfsdf sfs fsfsfs test112 sdfs sdfsdf sdfs sf af s sdf sadfasdfsa asfasf sdfsa ...

  3. word采用尾注进行参考文献排版的一些问题

    使用Word中尾注的功能可以很好地解决论文中参考文献的排序问题.方法如下: 1.光标移到要插入参考文献的地方,菜单中“插入”——“引用”——“脚注和尾注”. 2.对话框中选择“尾注”,编号方式选“自动 ...

  4. iOS两个关于对象的关键字

    标签: swift新特性(__nullable和__nonnull) 最近在看老师写代码的时候经常遇到两个陌生的关键字,但是当我在我的电脑上敲得时候就是敲不出,后来才知道这是为了swift与OC混编的 ...

  5. angularJS 系列(一)

    angularJS 中 $scope 的原型 和 原型继承之间的细微差别是什么? 参考:http://stackoverflow.com/questions/14049480/what-are-the ...

  6. aspx界面中,怎么调用后台的方法,处理某个数据

    <%# GetUrl(Eval("Url").ToString(),Eval("ID").ToString()) %> GetUrl() 就是后台的 ...

  7. [Lua]Lua入门教程

    什么是Lua Lua 是一个小巧的脚本语言.是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Rober ...

  8. PageRank在Hadoop和spark下的实现以及对比

    关于PageRank的地位,不必多说. 主要思想:对于每个网页,用户都有可能点击网页上的某个链接,例如 A:B,C,D B:A,D C:AD:B,C 由这个我们可以得到网页的转移矩阵      A   ...

  9. 求两个字符串最大的子字符串C#

    此代码由Java改写而来,字符串支持中文格式的. string str1 = "中国ab-15"; string str2 = "中国ab-23"; byte[ ...

  10. 128階數的Shunt音量控制器

    源:128階數的Shunt音量控制器 紅外線遙控 - 256階Shunt音量及控制及音源 選擇器