一.定义

  Spring框架对jdbc进行了封装,提供的一个JDBCTemplated对象简化jdbc开发。

使用步骤

  1 导包spring-beans-5.0.0-RELEASE.jar,spring-core-5.0.0-RELEASE.jar,spring-jdbc-5.0.0-RELEASE.jar,spring-tx-5.0.0-RELEASE.jar。辅助类包commons-logging-1.2.ja。

  2 创建JDBCTemplate 对象  依赖于DataSource

  3 调用JDBCTemplate 方法  CRUD(增删改查)

使用方法

  update,增、删、改,DML语句

  queryForMap() 查询结果封装为map 集合,列名  key  value

  queryForList()  查询结果封装List 集合

  query() 查询结果,是JavaBean对象

  queryForObject() 将结果封装成对象

入门代码:

public class Templatedemo1 {
public static void main(String[] args) {
//1.导包
//2.创建JDBCTemplate对象,依赖于DataSource
JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource());
//3.调用JDBCTemplate方法
String sql="insert into coount values(3,?,?)";
int i = template.update(sql, "abcd", 1000);
System.out.println(i);
}
}

二.Junit单元测试,实现让方法可以独立运行:

public class Templatedemo2 {
//创建template对象
JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource());
//Junit单元测试,可以让方法独立运行
@Test
//1.修改emp表中id为1的salary为10000
public void test1(){
//创建JDBCTemplate对象,依赖于DataSource
String sql="update emp set salary=10000 where id=?";
int i = template.update(sql, 1002);
System.out.println(i);
}
@Test
//2.给表emp添加信息
public void test2(){
String sql="insert into emp (id,ename,dept_id) values (?,?,?)";
int i = template.update(sql, 1016, "du", 10);
System.out.println(i);
}
@Test
//3.查询所有,封装成LIst集合
public void test3(){
String sql="select * from emp";
List<Map<String, Object>> maps = template.queryForList(sql);
for (Map<String, Object> stringObjectMap: maps){
System.out.println(stringObjectMap);
}
}
}

   //4.删除添加的数据
@Test
public void test4(){
String s="delete from emp where id=1110";
int i = template.update(s);
System.out.println(i);
}
 //5.查询id为2的记录,将其封装为Map集合
//注意这个方法查询的结果集的长度孩子能是1 DQL语句查询
@Test
public void test5(){
String s="select * from coount where id=2";
Map<String, Object> map = template.queryForMap(s);
System.out.println(map);
}
 //6.查询总记录数
@Test
public void test6(){
String s="select count(id) from emp";
Long l = template.queryForObject(s, Long.class);
System.out.println(l);
}
}

Templatedemo2:

  @Test
//7.查询emp表的记录,将其封装到Emp对象的List集合
public void test7(){
String sql="select * from emp";
List<Emp> list = template.query(sql, new BeanPropertyRowMapper<Emp>(Emp.class));
for (Emp emp:list){
System.out.println(emp);
}
}

Emp:

public class Emp {
private int id;
private String ename;
private Integer job_id;
private Integer mgr;
private Date joindate;
private Double salary;
private Double bonus;
private Integer dept_id; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getEname() {
return ename;
} public void setEname(String ename) {
this.ename = ename;
} public Integer getJob_id() {
return job_id;
} public void setJob_id(Integer job_id) {
this.job_id = job_id;
} public Integer getMgr() {
return mgr;
} public void setMgr(Integer mgr) {
this.mgr = mgr;
} public Date getJoindate() {
return joindate;
} public void setJoindate(Date joindate) {
this.joindate = joindate;
} public Double getSalary() {
return salary;
} public void setSalary(Double salary) {
this.salary = salary;
} public Double getBonus() {
return bonus;
} public void setBonus(Double bonus) {
this.bonus = bonus;
} public Integer getDept_id() {
return dept_id;
} public void setDept_id(Integer dept_id) {
this.dept_id = dept_id;
} @Override
public String toString() {
return "Emp{" +
"id=" + id +
", ename='" + ename + '\'' +
", job_id=" + job_id +
", mgr=" + mgr +
", joindate=" + joindate +
", salary=" + salary +
", bonus=" + bonus +
", dept_id=" + dept_id +
'}';
}
}

SpringJDBC——jdbcTemplate模板的更多相关文章

  1. JdbcTemplate模板使用

    1.添加模板的配置文件 在spring的配置文件中加入如下代码 <bean class="org.springframework.jdbc.core.JdbcTemplate" ...

  2. SpringJDBC :jdbcTemplate在连接是出现 org/springframeworkbc/core/JdbcTemplate : Unsupported major.minor version 52.0 异常解决

    原因是这个在jdk9版本才能使用,需更新jdk版本. 更新jdk9之后在idear的配置: 第一步:File---->Project Structure---->Project 第二步: ...

  3. 05-spring整合jdbc-jdbc模板对象JdbcTemplate

    1 演示JdbcTemplate模板对象 1 导包 2 准备数据库 3 书写UserDao package www.test.dao; import java.util.List; import ww ...

  4. 【使用篇二】SpringBoot使用JdbcTemplate操作数据库(12)

    Spring对数据库的操作在jdbc上面做了深层次的封装,提供了JdbcTemplate模板. 在SpringBoot使用JdbcTemplate很简单: 引入数据库驱动包(mysql或oracle) ...

  5. Spring——JdbcTemplate

    一.JdbcTemplate介绍: 为了使 JDBC 更加易于使用,Spring 在 JDBCAPI 上定义了一个抽象层, 以此建立一个JDBC存取框架,Spring Boot Spring Data ...

  6. 【Java EE 学习 52】【Spring学习第四天】【Spring与JDBC】【JdbcTemplate创建的三种方式】【Spring事务管理】【事务中使用dbutils则回滚失败!!!??】

    一.JDBC编程特点 静态代码+动态变量=JDBC编程. 静态代码:比如所有的数据库连接池 都实现了DataSource接口,都实现了Connection接口. 动态变量:用户名.密码.连接的数据库. ...

  7. JDBCTemplate基础学习

    JDBCTemplate:spring提供的用于操作数据库的模板,类似DbUtils.使用时必须设置数据源(DataSource):数据源如DBCP.C3P0等 一.JDBCAPI简单使用Demo 1 ...

  8. spring jdbcTemplate源码剖析

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

  9. 开涛spring3(7.2) - 对JDBC的支持 之 7.2 JDBC模板类

    7.2  JDBC模板类 7.2.1  概述 Spring JDBC抽象框架core包提供了JDBC模板类,其中JdbcTemplate是core包的核心类,所以其他模板类都是基于它封装完成的,JDB ...

随机推荐

  1. npm webpack vue-cli

    npm.webpack.vue-cli 快速上手版   Node.js   npm 什么是Node.js  以及npm 简单的来说 Node.js 就是运行在服务端的JavaScript,基于Chro ...

  2. webView 的种种

    1.关于UI 我们在设置webview的时候,有时候会发现在加载的过程中会出现一个黑色的条条,在加载完成的时候有得时候继续存在,有得时候消失不见. 这个黑边是由于webView.scrollview向 ...

  3. cookie的参数

    def set_cookie(self, key, value='', max_age=None, expires=None, path='/', domain=None, secure=False, ...

  4. 堆排序python实现

    def MAX_Heapify(heap,HeapSize,root):#在堆中做结构调整使得父节点的值大于子节点 left = 2*root+1 right = left + 1 larger = ...

  5. mysql 数据库关于增加用户权限的问题

    一新建用户 ----------- 二首先修改权限必须在电脑cmd 中运行 开设的权限  主要就是 1 所有库的  *.*      2  所有的表   db.*      3所有的字段db.t1   ...

  6. css , dl , dt , dd 的使用. calc

    dl .dt, dd 虽然很少使用, 但是 有时使用会有 更好的效果: 一: 展示图片: ------------------------- 代码: <!DOCTYPE html> < ...

  7. subprocess(子进程模块)

    subprocess: 子进程模块 一个正在运行的程序叫做进程 一个进程 开启了另一个进程 这个被开启的程序叫做子ka进程 ###########################在cmd中执行#### ...

  8. python flask大型项目目录

    Hello World 作者背景 应用程序简介 要求 安装 Flask 在 Flask 中的 “Hello, World” 下一步? 模板 回顾 为什么我们需要模板 模板从天而降 模板中控制语句 模板 ...

  9. java学习笔记23(Set接口)

    Set接口: 1.Set接口是不包含重复元素的Collection: 2.set集合没有索引,只能通过增强型for循环或迭代器来遍历: 3.Set接口只包含从collection接口继承的方法,并且增 ...

  10. Java学习笔记11(this,super)

    this在构造方法间的使用, public class Person { private String name; private int age; public Person() { //this( ...