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的更多相关文章

  1. Unit06: Spring对JDBC的 整合支持 、 Spring+JDBC Template、Spring异常处理

    Unit06: Spring对JDBC的 整合支持 . Spring+JDBC Template .Spring异常处理 1. springmvc提供的异常处理机制 我们可以将异常抛给spring框架 ...

  2. spring+jdbc+template+transaction实现

    使用spring和jdbc模板事务实现 1.创建实体类: Role package com.wbg.sjt.entity; public class Role { private int id; pr ...

  3. Java泛型在spring jdbc template中的类似应用

    泛型的使用保证返回的对象类型的正确: package com.stono.gentest; import java.util.ArrayList; import java.util.List; pub ...

  4. Spring JDBC Framework

    引自 :学习经典:Spring JDBC Framework 这里记录我对Spring JDBC框架的学习.由于Spring JDBC和我之前做的工作有很多共同之处,学习经典Framework的设计, ...

  5. Spring框架学习10——JDBC Template 实现数据库操作

    为了简化持久化操作,Spring在JDBC API之上提供了JDBC Template组件. 1.添加依赖 添加Spring核心依赖,MySQL驱动 <!--Spring核心基础依赖--> ...

  6. SSM 实训笔记 -11- 使用 Spring MVC + JDBC Template 实现筛选、检索功能(maven)

    SSM 实训笔记 -11- 使用 Spring MVC + JDBC Template 实现筛选.检索功能(maven) 本篇是新建的一个数据库,新建的一个完整项目. 本篇内容: (1)使用 Spri ...

  7. Spring的JDBC Template

    Spring的JDBC Template(JDBC模板)简化JDBC API开发,使用上和Apache公司的DBUtils框架非常类似) 快速入门实例 1.创建项目后,导入Spring基础核心开发包. ...

  8. spring学习笔记之---JDBC Template

    JDBC  Template(简化持久化操作) (一)创建项目 (1)Maven配置 <dependencies> <dependency> <groupId>ju ...

  9. Spring之JDBC Template

    时间:2017-2-5 18:16 --Spring对不同持久化技术的支持Spring为各种支持的持久化技术都提供了简单操作的模板和回调.ORM持久化技术:    JDBC:        org.s ...

  10. spring + jdbc + extjs configuration

    所有源代码能够訪问我的GitHub 有空没空的稻谷了几天,最终前后台跑通了,提供一套可用的配置文件. (因为与extjs整合,spring security的登录须要重写原handler.会在后面补上 ...

随机推荐

  1. 关于Vim 的插件snipmate 以及它的安装方式

    在网上看了http://study.163.com/course/courseMain.htm?courseId=269016#/courseMain   里关于snipmate 的视频 snipma ...

  2. 工作采坑札记:1. Hadoop中的BytesWritable误区

    1. 背景 近日帮外部门的同事处理一个小需求,就是将HDFS中2018年至今所有存储的sequence序列化文件读取出来,重新保存成文本格式,以便于他后续进行处理.由于同事主要做机器学习方向,对had ...

  3. vue2.0 $router和$route的区别

    在vue2.0里页面参数是 this.$route.query或者 this.$route.params 接收router-link传的参数. 在路由跳转的时候除了用router-link标签以外需要 ...

  4. 《SQLServer删除重复数据的方法》

    方法一: declare @max integer,@id integer open cur_rows fetch cur_rows into @id,@max begin set rowcount ...

  5. LoadRunner性能测试之常见函数及参数的说明和作用

       

  6. PB导出规定格式DBF文件 dBase 3 格式 222个字段

    最近在做一个给卫计委做数据上报的数据接口,接口要求使用奇葩的dBase 3数据库存储上报数据,忙活了几天总算搞好了,使用开发工具为powerbuild 12,222个字段的上报数据表生成DBF文件,写 ...

  7. meta详解(常用)

    1.<meta http-equiv="X-UA-Compatible" content="IE=edge"> 说明:设置浏览器的兼容模式版本.表示 ...

  8. PHP: 打印post数据,返回长度不为1但内容为空的问题

    问题: 首先,html长这样: 我们可以看到textarea标签的name值为cten,那么我们进行查看Post是否能够正常获取到数据: 后台进行获取: 结果:我们可以正常获取到数据 接下来,我们进行 ...

  9. C++ Eigen库和Matlab对比

    // A simple quickref for Eigen. Add anything that's missing. // Main author: Keir Mierle #include &l ...

  10. 单步调试理解webpack里通过require加载nodejs原生模块实现原理

    在webpack和nodejs里,我们经常使用require函数加载原生模块或者开发人员自定义的模块. 原生模块的加载,比如: const path = require("path" ...