JDBC Template
JDBC Template
1. Spring JDBC
- Spring框架对JDBC的简单封装,提供了一个JDBCTemplate对象用来简化JDBC的开发
 - 步骤:
- 导入jar包
 - 创建JDBCTemplate对象,参数要传递DataSource
- template = new jdbcTemplate(dataSource)
 
 - 调用jdbcTemplate对象的方法完成crud操作
- update():执行增删改的DML语句
 - queryForMap():将查询结果封装为map集合
 - queryForList():将查询结果封装为List集合
 - query():查询结果,将结果封装为JavaBean对象
 - queryObject():查询结果,将结果封装为对象
 
 
 
public class jdbcTemplateTest {
    private JdbcTemplate template = new JdbcTemplate(DruidUtils.getDataSource());
    @Test// 添加一条记录
    public void test1() {
        //JdbcTemplate template = new JdbcTemplate(DruidUtils.getDataSource());
        String sql = "insert into student values(null, ?,  ?, ?, ?, ?)";
        int update = template.update(sql, "紫霞仙子", 24, 100, "女", 90);
        System.out.println(update);
    }
    @Test // 删除一条记录
    public void test2() {
        String sql = "delete from student where id = ?";
        int count = template.update(sql, 7);
        System.out.println(count);
    }
    @Test// 查询ID = 1的记录,封装为map集合
    //要注意的是查询的结果集长度只能是1,将列名作为key,值作为value封装为map集合
    public void test3() {
        String sql = "select * from student where id = ?";
        Map<String, Object> map = template.queryForMap(sql, 1);
        System.out.println(map);
    }
    // 输出{id=1, name=唐三藏, age=25, english=60, sex=女, math=90}
    @Test// 将结果封装为List集合,里面装的是map集合
    public void test4() {
        String sql = "select * from student";
        List<Map<String, Object>> maps = template.queryForList(sql);
        for (Map<String, Object> map : maps) {
            System.out.println(map);
        }
    }
    @Test// 将结果封装为javabean的List集合 BeanPropertyRowMapper完成查询结果自动封装为javabean对象
    public void test5() {
        String sql = "select * from student";
        List<Student> list = template.query(sql, new BeanPropertyRowMapper<Student>(Student.class));
        for (Student student : list) {
            System.out.println(student);
        }
    }
    @Test // 总记录数// queryForObject一般用来查询聚合函数
    public void test6() {
        String sql = "select count(id) from student";
        Long count = template.queryForObject(sql, Long.class);
        System.out.println(count);
    }
}
												
											JDBC Template的更多相关文章
- 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基础核心开发包. ...
 - Unit06: Spring对JDBC的 整合支持 、 Spring+JDBC Template、Spring异常处理
		
Unit06: Spring对JDBC的 整合支持 . Spring+JDBC Template .Spring异常处理 1. springmvc提供的异常处理机制 我们可以将异常抛给spring框架 ...
 - spring学习笔记之---JDBC Template
		
JDBC Template(简化持久化操作) (一)创建项目 (1)Maven配置 <dependencies> <dependency> <groupId>ju ...
 - JAVA   JDBC Template的使用
		
JAVA JDBC Template的使用 什么是Template? Spring框架对JDBC的简单封装.提供了一个JDBCTemplate对象简化JDBC的开发 Template使用步骤 导入ja ...
 - jdbc事务、连接池概念、c3p0、Driud、JDBC Template、DBUtils
		
JDBC 事务控制 什么是事务:一个包含多个步骤或者业务操作.如果这个业务或者多个步骤被事务管理,则这多个步骤要么同时成功,要么回滚(多个步骤同时执行失败),这多个步骤是一个整体,不可分割的. 操作: ...
 - Spring之JDBC Template
		
时间:2017-2-5 18:16 --Spring对不同持久化技术的支持Spring为各种支持的持久化技术都提供了简单操作的模板和回调.ORM持久化技术: JDBC: org.s ...
 - Java泛型在spring jdbc template中的类似应用
		
泛型的使用保证返回的对象类型的正确: package com.stono.gentest; import java.util.ArrayList; import java.util.List; pub ...
 
随机推荐
- Linux学习之路(二)
			
4.Linux文件查找工具. Linux经常使用locate与find作为文件查找命令.find可以认为是系统自带的命令,功能也挺多但是使用方法相对有点繁琐.find查找的是实时文件数据,一般用于查询 ...
 - 一、Windows Server 2016 AD服务器搭建
			
简介: AD是Active Directory的简写,中文称活动目录.活动目录(Active Directory)主要提供以下功能: 1)服务器及客户端计算机管理 2)用户服务 3)资源管理 4)桌面 ...
 - Flink Pre-defined Timestamp Extractors / Watermark Emitters(预定义的时间戳提取/水位线发射器)
			
https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/event_timestamp_extractors.html 根据官网 ...
 - c# 小数四舍五入,向上取整,向下取整,见角进元保留多个小数位数
			
/// <summary> /// 实现数据的四舍五入法 /// </summary> /// <param name="v">要进行处理的数据 ...
 - Linux内存管理 (15)页面迁移
			
专题:Linux内存管理专题 关键词:RMAP.页面迁移. 相关章节:反向映射RMAP.内存规整. 页面迁移的初衷是为NUMA系统提供一种将进程迁移到任意内存节点的能力,后来内存规整和内存热插拔场景都 ...
 - HTML多图无缝循环翻页效果
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - springboot2.0整合shiro出现ShiroDialect报错 找不到org/thymeleaf/processor/attr/AbstractTextChildModifierAttrPr
			
包版本过低,找最新包 https://mvnrepository.com/ <dependency> <groupId>com.github.theborakompanioni ...
 - Thymeleaf的超链接与AJAX的跳转问题
			
//th:href :超链接<a th:href="@{/list}"></a>//可以在其他页面跳转yt <form id="msform ...
 - java基础3之IO
			
流 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接.类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流. 流的种类 字符 ...
 - python代码格式
			
1,函数名:不要大写,都用小写,单词之间用下划线分隔 2,注释:注释的时候#后面要带空格 3,方法与方法之间空格两行 4,使用方法时,里面的参数用 逗号和空格 隔开 5,使用方法时,里面的参数“= ...