spring-JDBC Template
JDBC Template概念
为简化持久化操作,spring在JDBC API之上提供JDBC Template组件
提供统一模板:

环境配置
1、创建MySQL数据库
2、搭建maven项目,并引入依赖
3、配置spring配置文件
数据库连接配置
JDBC连接配置

基本操作
execute
通常执行DDL语句
update or batchUpdate
Int update(String sql,Object[] args)
Int update(String sql,Object… args) Int[] batchUpdate(String [] sql)
Int[] batchUpdate(String [] sql,List<object[]> args)------------执行同构SQL
query or queryXXX
查询简单对象
查询一个
T queryForObject(String sql,Class<T> type)
T queryForObject(String sql,Object[] args,Class<T> type)
T queryForObject(String sql,Class<T> type,Object… args)
查询多个
List<T> queryForList(String sql,Class<T> type)
List<T> queryForList(String sql,Object[] args,Class<T> type)
List<T> queryForList(String sql,Class<T> type,Object… args)

查询复杂对象
查询一个
Map queryForObject(String sql)
Map queryForObject(String sql,Object[] args)
Map queryForObject(String sql,Object… args)
查询多个
List< Map<String,Object>> queryForList (String sql)
List< Map<String,Object>> queryForList (String sql,Object[] args)
List< Map<String,Object>> queryForList (String sql,Object… args)
查询复杂对象(封装成实体)
查询一个
T queryForMap(String sql,RowMapper<T> mapper)
T queryForMap(String sql,Object[] args, RowMapper<T> mapper)
T queryForMap(String sql, RowMapper<T> mapper,Object… args)
查询多个
List<T> queryForList(String sql, RowMapper<T> mapper)
List<T> queryForList(String sql,Object[] args, RowMapper<T> mapper)
List<T> queryForList(String sql, RowMapper<T> mapper,Object… args)
Call
NamedParameterJdbcTemplate


案例流程:
在搭建好开发环境之后
1、 创建DAO接口
2、 创建接口实现类
用XML管理:
注解注入
优缺点
优:简单、灵活
缺:SQL和Java代码掺杂,功能不丰富
持久化操作特点:必须、机械
ORM:对象-关系(JDBC Template不是ORM)
JDBC Template:spring框架对JDBC操作的封装,简单、灵活但是不够强大
spring-JDBC Template的更多相关文章
- Unit06: Spring对JDBC的 整合支持 、 Spring+JDBC Template、Spring异常处理
Unit06: Spring对JDBC的 整合支持 . Spring+JDBC Template .Spring异常处理 1. springmvc提供的异常处理机制 我们可以将异常抛给spring框架 ...
- spring+jdbc+template+transaction实现
使用spring和jdbc模板事务实现 1.创建实体类: Role package com.wbg.sjt.entity; public class Role { private int id; pr ...
- Java泛型在spring jdbc template中的类似应用
泛型的使用保证返回的对象类型的正确: package com.stono.gentest; import java.util.ArrayList; import java.util.List; pub ...
- Spring JDBC Framework
引自 :学习经典:Spring JDBC Framework 这里记录我对Spring JDBC框架的学习.由于Spring JDBC和我之前做的工作有很多共同之处,学习经典Framework的设计, ...
- Spring框架学习10——JDBC Template 实现数据库操作
为了简化持久化操作,Spring在JDBC API之上提供了JDBC Template组件. 1.添加依赖 添加Spring核心依赖,MySQL驱动 <!--Spring核心基础依赖--> ...
- SSM 实训笔记 -11- 使用 Spring MVC + JDBC Template 实现筛选、检索功能(maven)
SSM 实训笔记 -11- 使用 Spring MVC + JDBC Template 实现筛选.检索功能(maven) 本篇是新建的一个数据库,新建的一个完整项目. 本篇内容: (1)使用 Spri ...
- Spring的JDBC Template
Spring的JDBC Template(JDBC模板)简化JDBC API开发,使用上和Apache公司的DBUtils框架非常类似) 快速入门实例 1.创建项目后,导入Spring基础核心开发包. ...
- spring学习笔记之---JDBC Template
JDBC Template(简化持久化操作) (一)创建项目 (1)Maven配置 <dependencies> <dependency> <groupId>ju ...
- Spring之JDBC Template
时间:2017-2-5 18:16 --Spring对不同持久化技术的支持Spring为各种支持的持久化技术都提供了简单操作的模板和回调.ORM持久化技术: JDBC: org.s ...
- spring + jdbc + extjs configuration
所有源代码能够訪问我的GitHub 有空没空的稻谷了几天,最终前后台跑通了,提供一套可用的配置文件. (因为与extjs整合,spring security的登录须要重写原handler.会在后面补上 ...
随机推荐
- 关于Vim 的插件snipmate 以及它的安装方式
在网上看了http://study.163.com/course/courseMain.htm?courseId=269016#/courseMain 里关于snipmate 的视频 snipma ...
- 工作采坑札记:1. Hadoop中的BytesWritable误区
1. 背景 近日帮外部门的同事处理一个小需求,就是将HDFS中2018年至今所有存储的sequence序列化文件读取出来,重新保存成文本格式,以便于他后续进行处理.由于同事主要做机器学习方向,对had ...
- vue2.0 $router和$route的区别
在vue2.0里页面参数是 this.$route.query或者 this.$route.params 接收router-link传的参数. 在路由跳转的时候除了用router-link标签以外需要 ...
- 《SQLServer删除重复数据的方法》
方法一: declare @max integer,@id integer open cur_rows fetch cur_rows into @id,@max begin set rowcount ...
- LoadRunner性能测试之常见函数及参数的说明和作用
- PB导出规定格式DBF文件 dBase 3 格式 222个字段
最近在做一个给卫计委做数据上报的数据接口,接口要求使用奇葩的dBase 3数据库存储上报数据,忙活了几天总算搞好了,使用开发工具为powerbuild 12,222个字段的上报数据表生成DBF文件,写 ...
- meta详解(常用)
1.<meta http-equiv="X-UA-Compatible" content="IE=edge"> 说明:设置浏览器的兼容模式版本.表示 ...
- PHP: 打印post数据,返回长度不为1但内容为空的问题
问题: 首先,html长这样: 我们可以看到textarea标签的name值为cten,那么我们进行查看Post是否能够正常获取到数据: 后台进行获取: 结果:我们可以正常获取到数据 接下来,我们进行 ...
- C++ Eigen库和Matlab对比
// A simple quickref for Eigen. Add anything that's missing. // Main author: Keir Mierle #include &l ...
- 单步调试理解webpack里通过require加载nodejs原生模块实现原理
在webpack和nodejs里,我们经常使用require函数加载原生模块或者开发人员自定义的模块. 原生模块的加载,比如: const path = require("path" ...