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 ... 
随机推荐
- 我的第一个python web开发框架(30)——定制ORM(六)
			在开发中,查询操作是使用最多的,而查询列表是其中之一,查询列表可分为分页查询和不分页查询(它们之间多了一次总记录数查询),还可以分为单表查询和多表关联查询,返回的结构体根据前端使用的表单框架不同而有所 ... 
- java 下载word  freemaker
			网上有很多优质的博文了,这里这篇博客就是记录一下字自己,写demo的历程,坑和收获 在java程序中下载word 有6中方式,此处省略(嘻嘻),不过大家公认的是 freemaker 和 PageOff ... 
- Linux内核入门到放弃-内核活动-《深入Linux内核架构》笔记
			中断 中断类型 同步中断和异常.这些由CPU自身产生,针对当前执行的程序 异步中断.这是经典的中断类型,由外部设备产生,可能发生在任意时间. 在退出中断中,内核会检查下列事项. 调度器是否应该选择一个 ... 
- 【翻译】WhatsApp 加密概述(技术白皮书)
			目录 简介 术语 客户端注册 会话初始化设置 接收会话设置 交换信息 传输媒体和附件 群组消息 通话设置 ... 
- Quick Sort(Java)
			public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextI ... 
- Photoshop调出清晰的阴雨天气山水风景照
			既然我们前期拍摄到了一张效果还不错的照片,那么下一步就是通过后期处理得到最终的影像. 在处理之前,我们一定要做到胸有成竹,而不是盲目调整. 也就是说在还没调整照片的时候,就要计划和预想到最终的照片应该 ... 
- hMailServer配置图文详细教程
			https://www.hmailserver.org/viewtopic.php?f=4&t=6 
- CodeForces 280B Maximum Xor Se
			题目链接:http://codeforces.com/contest/280/problem/B 题目大意: 给定一个由n个数组成的一个序列,s[l..r] (1 ≤ l < r ≤ n)代表原 ... 
- Shell命令-文件及目录操作之cp、find
			文件及目录操作 - cp.find 1.cp:复制文件或目录 cp命令的功能说明 cp命令用于复制文件或目录. cp命令的语法格式 cp [OPTION]... SOURCE... DIRECTORY ... 
- Activiti6-数据库配置-dbconfig(学习笔记)
			常用数据连接池种类: 不一样的地方在于filters过滤器,设置了统计.和记录 avtiviti支持的数据库有: <?xml version="1.0" encoding=& ... 
