Spring JdbcTemplate+JdbcDaoSupport实例
1. 不使用JdbcTemplate示例
private DataSource dataSource;public void setDataSource(DataSource dataSource) {this.dataSource = dataSource;}public void insert(Customer customer){String sql = "INSERT INTO CUSTOMER " +"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";Connection conn = null;try {conn = dataSource.getConnection();PreparedStatement ps = conn.prepareStatement(sql);ps.setInt(1, customer.getCustId());ps.setString(2, customer.getName());ps.setInt(3, customer.getAge());ps.executeUpdate();ps.close();} catch (SQLException e) {throw new RuntimeException(e);} finally {if (conn != null) {try {conn.close();} catch (SQLException e) {}}}}
2. 使用JdbcTemplate示例
private DataSource dataSource;private JdbcTemplate jdbcTemplate;public void setDataSource(DataSource dataSource) {this.dataSource = dataSource;}public void insert(Customer customer){String sql = "INSERT INTO CUSTOMER " +"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";jdbcTemplate = new JdbcTemplate(dataSource);jdbcTemplate.update(sql, new Object[] { customer.getCustId(),customer.getName(),customer.getAge() });}
3. 使用JdbcDaoSupport示例
通过扩展 JdbcDaoSupport,设置数据源,并且 JdbcTemplate 在你的类中不再是必需的,只需要正确的数据源注入JdbcCustomerDAO。可以使用 getJdbcTemplate()方法得到 JdbcTemplate。
public class JdbcCustomerDAO extends JdbcDaoSupport implements CustomerDAO{//no need to set datasource herepublic void insert(Customer customer){String sql = "INSERT INTO CUSTOMER " +"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";getJdbcTemplate().update(sql, new Object[] { customer.getCustId(),customer.getName(),customer.getAge() });}
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/yiibaijava" /><property name="username" value="root" /><property name="password" value="password" /></bean></beans>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean id="customerDAO" class="com.yiibai.customer.dao.impl.JdbcCustomerDAO"><property name="dataSource" ref="dataSource" /></bean></beans>
Spring JdbcTemplate+JdbcDaoSupport实例相关推荐
- Spring JdbcTemplate batchUpdate() 实例
在某些情况下,可能需要将一批记录插入到数据库中.如果你对每条记录调用一个插件的方法,SQL语句将被重复编译,造成系统缓慢进行. 在上述情况下,你可以使用 JdbcTemplate BATCHUPDAT ...
- Spring JdbcTemplate查询实例
这里有几个例子向您展示如何使用JdbcTemplate的query()方法来查询或从数据库提取数据.整个项目的目录结构如下: 1.查询单行数据 这里有两种方法来查询或从数据库中提取单行记录,并将其转换 ...
- Spring 的持久化实例(JDBC, JdbcTemplate、HibernateDaoSupport、JdbcDaoSupport、SqlSessionDaoSupport等)...
2019独角兽企业重金招聘Python工程师标准>>> 一.表(这里用mysql,数据库名为yiibai) CREATE TABLE `customer` (`CUST_ID` in ...
- spring JdbcTemplate数据库查询实例
使用JdbcTemplate查询数据库的例子 配置等可以看前一篇文章: Spring JdbcTemplate实例 创建数据库 可以使用下面的SQL create table A( `id` INT ...
- Spring JdbcTemplate实例
简介 Spring JdbcTemplate类是Spring提供的简化数据库操作的一个类,这个类使用了模板方法模式,可以减少一些重复代码.这里主要演示一下 JdbcTemplate 的使用. 完整的代 ...
- 【SSM框架系列】Spring - JdbcTemplate声明式事务
JdbcTemplate概述 以往使用jdbc时,每次都需要自己获取PreparedStatement,执行sql语句,关闭连接等操作.操作麻烦冗余,影响编码的效率. Spring把对数据库的操作在j ...
- Spring JdbcTemplate示例
Spring JdbcTemplate示例 Spring JdbcTemplate是Spring JDBC包中最重要的类. 目录[ 隐藏 ] 1 Spring JdbcTemplate 1.1 Spr ...
- JAVA入门[18]-JdbcTemplate简单实例
一.关于JdbcTemplate JdbcTemplate是最基本的Spring JDBC模板,这个模板支持简单的JDBC数据库访问功能以及基于索引参数的查询. Spring数据访问模板:在数据库操作 ...
- Spring JdbcTemplate方法详解
2019独角兽企业重金招聘Python工程师标准>>> Spring JdbcTemplate方法详解 标签: springhsqldbjava存储数据库相关sql 2012-07- ...
最新文章
- R语言临床预测模型的评价指标与验证指标实战:自定义的综合判别改善指标(Integrated Discrimination Improvement, IDI)函数
- jsPlumb.jsAPI阅读笔记(官方文档翻译)
- Android Service的使用方法 音乐播放器实例
- 从七个方面,面试大厂高级工程师
- python udp编程_在Python下进行UDP网络编程的教程
- python中list和str互相转换
- objective-c 语法快速过(4)
- php将年月日_php生成年月日下载列表的方法
- 选购多媒体音箱常见哪些误区?
- JUnit测试用例– Eclipse和Maven
- mysql图形界面navicat的连接
- Oracle 客户端 PLSQL 12.0.7 安装、数据导出、Oracle 执行/解释计划
- 关于TRACERT和TTL
- 一起用Python做个自动化弹钢琴脚本,我竟然弹出了《天空之城》!
- python中seaborn报错These `style` levels are missing dashes解决办法
- 2021-01-04
- Scrapy框架流程图解析
- HTML转换为PDF介绍
- 友盟推送点击行为处理
- (100天2小时第二十九天)几种常见的图像噪声及去噪处理算法
热门文章
- Qt Creator在桌面上预览
- C++False position求根的实现算法(附完整源码)
- QML基础类型之point
- Scikit-learn——train_test_split()方法的功能和使用
- java sum_java math.sum
- typedef,结构体,共用体,联合体
- 操作多个表_5_记录匹配不上
- 【C语言】%[修饰符] 格式字符
- ideal2018提示内存不足_IntelliJ IDEA 2018 设置代码超出限制自动换行(最新版)
- linux内存free低,Linux上的内存使用情况与`free`不匹配