JDBC之Template(Spring)简化开发

SpringBoot整理-数据库操作 在SpringBoot中进行数据库操作是一项常见的任务。 阅读详情

JDBC之Template(Spring)简化开发

1.导入jar包
2.创建JdbcTemplate对象,通过Druid工具类的getDataSource()获取连接池作为参数
3.调用JdbcTemplate对象,执行sql语句,并处理相应的返回结果

1.导入jar包

commons-logging-1.2.jar
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
mysql-connector-java-8.0.16.jar
druid-1.0.13.jar     
	//因为创建JdbcTemplate对象需要: 
		DruidDataSourceFactory.createDataSource(properties)作为参数								

2.创建JdbcTemplate对象,通过Druid工具类的getDataSource()获取连接池作为参数

/*
	Druid工具类的getDataSource():
	通过Properties加载Classloader加载并转化过后的配置文件的流,
	将其作为参数,完成:
		DataSource dSource = DruidDataSourceFactory.createDataSource(properties);

*/

JdbcTemplate jdbcTemplate = new JdbcTemplate(MySqlDruid.getDataSource());

static public DataSource getDataSource() {return dSource;}	

3.调用JdbcTemplate对象,执行sql语句,并处理相应的返回结果

1.update:	可执行DML(增删改表中数据),DDL(增删改表,数据库) //返回值为影响的行数
2.queryForMap:	可执行DQL(查询表中数据)  // 返回map对象,键值对,单个结果
3.queryForList:可执行DQL(查询表中数据)  // 返回包含若干map对象的list
4.query: 可执行DQL(查询表中数据)  // 返回包含指定的类对象的list
5.queryForObject : 可执行DQL的聚合函数 
	//返回单个结果的count(),max(),min(),avg(),sum()

1.update: 可执行DML(增删改表中数据),DDL(增删改表,数据库) //返回值为影响的行数

int	update(String sql, Object... args)

举例:
	String sql = "insert into student (id,NAME,score) values (?,?,?) ";
	jdbcTemplate.update(sql, 222,"忙k孙",23);

2.queryForMap: 可执行DQL(查询表中数据) // 返回map对象,键值对,单个结果

Map<String,Object>	queryForMap(String sql, Object... args)

举例:
	String sql = "select * from student where id = ? ";
	System.out.println(jdbcTemplate.queryForMap(sql, 72567));

3.queryForList:可执行DQL(查询表中数据) // 返回包含若干map对象的list

List<Map<String,Object>>	queryForList(String sql, Object... args)

举例:
	String sql = "select * from student where id = ? ";
	System.out.println(jdbcTemplate.queryForList(sql, 2354));

4.query: 可执行DQL(查询表中数据) // 返回包含指定的类对象的list

<T> List<T>	query(String sql, RowMapper<T> rowMapper, Object... args)

举例:
	String sql = "select * from student where id = ? ";
	List<Student> query = jdbcTemplate.query(sql,new BeanPropertyRowMapper<Student>(Student.class),2354);
	for(Student s:query) {
		System.out.println(s);
	}
	
说明:指定的类要有与该表能配对上的 各种成员变量 以及 各自的get,set方法
	 

Student类:
class Student{
	private Integer id;
	private String name;
	private String className;
	private String master;
	private String subject;
	private int score;
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", className=" + className + ", master=" + master + ", subject="
				+ subject + ", score=" + score + "]";
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getClassName() {
		return className;
	}
	public void setClassName(String className) {
		this.className = className;
	}
	public String getMaster() {
		return master;
	}
	public void setMaster(String master) {
		this.master = master;
	}
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	public int getScore() {
		return score;
	}
	public void setScore(Integer score) {
		this.score = score;
	}
		
}

在这里插入图片描述

5.queryForObject : 可执行DQL的聚合函数 //返回单个结果的count(),max(),min(),avg(),sum()

<T> T	queryForObject(String sql, Class<T> requiredType, Object... args)

//The query is expected to be a single row/single column query; 
//the returned result will be directly mapped to the corresponding object type.
举例:
	
	String sql = "select count(id) from student where id = ?";
	System.out.println(jdbcTemplate.queryForObject(sql, int.class,2354));
Spring-JDBC-5.0.0-RELEASE-所需的五个jar 知识为了方便大家学习,所以五个jar包都压缩在一起了! JAVAWEB前端课程所需要的五个jar包 - commons-logging-1.2.jar,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.2.RELEASE.jar 立即下载

相关推荐

spring-jdbc-5.0.0.RELEASE.jar

注意:本资源用于学习而非盈利,第三方若认为版权受侵可联系官方删帖

JDBCTemplate的详细讲解

JDBCTemplate的详细讲解 一、JDBCTemplate_介绍 Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发。 二、JDBCTemplate_快速入门【应用】 步骤: 1. 导入jar包(Spring5.X需要JDK8及其以上支持) 2. 创建JdbcTemplate对象。依赖于数据源DataSource JdbcTe...

qq_41359684的博客 2822

JDBCTemplatejar包,四五两个版本

JDBCTemplatejar包及资源文件和源码,用于简化操作数据库,包括四五两个版本spring-tx-5.0.0.RELEASE.jar

【Spring】Spring的数据库开发JDBCTemplate(批量操作、查询单条、多条)【附源码】

Spring框架对JDBC进行了封装,使用JdbcTemplate类实现对数据库的资源操作和错误处理。JdbcTemplate继承抽象类JdbcAccessor,并实现了JdbcOperations接口。 JdbcAccessor为子类提供了Datasource属性,用于获取数据库连接、数据库连接的缓冲池和分布式事务的支持,还可以作为数据库资源的标准接口; Jdbcoperations定义了在JdbcTemplate类中进行CRUD(增删改查)等操作的集合。

weixin_46081857的博客 6506

spring-Jdbc-5.0.5.zip

初学者所需的五个jar包,commons-logging-1.2,spring-beans-5.05.RELEASE,spring-core-5.0.5.RELEASE,spring-jdbc-5.0.5.RELEASE,spring-jdbc-5.0.5.RELEASE-sources,

spring-jdbc-5.0.4.RELEASE.jar

spring-jdbc-5.0.4.RELEASE.jar,最新spring-jdbc-5.0.4.RELEASE.jar包。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

Spring JDBC

Spring JDBC 1.概述 1.1 介绍 Spring框架对JDBC的简单封装。提供一个JDBCTemplate对象来简化JDBC开发 1.2 相关jar包 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 相关jar包下载:https://blog.youkuaiyun.com/qq_41821963/article/deta

qq_53529114的博客 278

spring-jdbc-5.1.0.RELEASE

spring-jdbc-5.1.0.RELEASE,最新spring-jdbc jar包。

spring中JdbcTemplate的queryForObject(String sql, Class<T> requiredType, Object... args)方法

1.今天使用JdbcTemplate中的queryForObject(String sql, Class&lt;T&gt; requiredType, Object... args)方法时总是报以下错误 org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual...

qq_34204490的博客 6841

LinuxCNC开发实战:从安装到EtherCAT配置全解析

本文详细解析LinuxCNC开发实战,从系统安装到EtherCAT总线配置全流程。涵盖实时内核优化、伺服驱动器PDO映射、HAL配置及自定义运动学开发,帮助开发者快速搭建工业级数控系统,提升运动控制精度与稳定性。

rgv234567的博客 352

PID算法(位置式pid算法和增量式pid算法)

PID 算法是闭环控制系统中常用的算法,PID 分别是 Proportion(比例)、Integral(积分)、Differential(微分)的首字母缩写。它是一种结合比例、积分和微分三个环节于一体的闭环控。

m0_57678852的博客 2万+

java--spring jdbc-template模板---(重要!!!)简化开发s

知识储备 Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发 步骤: 导入jar包 创建JdbcTemplate对象。依赖于数据源DataSource JdbcTemplate template = new JdbcTemplate(ds); 调用JdbcTemplate的方法来完成CRUD的操作 update():执行DML语句。增...

weixin_38023259的博客 291

SPICE模型入门到精通

文章目录前言一、SPICE是什么?二、1. 前言 由于笔者的毕业设计与功率半导体器件建模相关,需要用到SPICE软件来建模,在这记录一下从零开始的SPICE学习历程~ 一、SPICE是什么? 电子产品的设计一般先从功能框图开始,然后细化到原理图,还要经过很调试验证过程,最终才能完成。调试和验证的过程复杂而繁琐,在设计集成电路时更是如此,在制造之前急需验证集成电路的功能。 根据电路理论,人们可以建立起节点方程和回路方程,通过解这些方程组成的方程组就可以得到结果,也就是说可以通过计算来获得电路的工作情况。但

qq_42031914的博客 7万+

DBUtils和Spring Jdbc Template

DBUtils和Spring Jdbc TemplateDbutilsDBUtils简介DbUtils类QueryRunner类ResultSetHandler接口开发步骤Jdbc TemplateJdbcTemplate简介JdbcTemplate主要提供以下四类方法JdbcTemplate的开发步骤 Dbutils DBUtils简介 commons-dbutils 是 Apache 组织...

SYJ_1835_LPM的博客 2420

LVDS接口总结--(0)LVDS硬件电路接口

xilinx LVDS接口硬件总结

zidan1412的博客 9719

QGIS基于快鸟(QuickBird)影像统计小麦种植面积

​01数据情况 本次选用某地4月份快鸟(QuickBird)影像为例,使用QGIS演示提取小麦播种情况,并按照200米*200米分区计算种植面积的过程。 注:本文对应的操作视频作为今天第二篇推送同时发布,习惯看视频的朋友可以点击观看。 附数据压缩包: 链接:https://pan.baidu.com/s/1JVUS8uAOR61RxC1n9Or9_w 提取码:qgis 含快鸟影像QB_subset.tif和200*200米分区矢量图层200Mgrid.shp。 ...

QGISClass的博客 1979

JDBC支持

5.2  JDBC支持 在使用JDBC时,总是要处理繁琐的细节,例如Connection、Statement的获得、SQLException的处理、Connection、Statement的关闭等问题,Spring在JDBC的使用上提供了几个类,可以简化JDBC使用时的流程。 5.2.1  使用JdbcTemplate 在前一节介绍的DataSourceDemo项目中,UserDAO中直接使

725

人体分割笔记总结

人体分割 人体分割(human parsing),属于语义分割任务的子任务,旨在对人类图像进行像素级的是细粒度分割(例如,划分出身体部位和服装)。根据不同的场景,又可以分为单人人体解析(single-person human parsing)和多人人体解析(multi-person human parsing,或者 instance-level human parsing)。除此之外,按照处理媒介分类,还可以分为基于图像的人体解析和基于视频的人体解析。 对于人体解析任务,常用的度量指标包括 Pixel a

jacke121的专栏 4255

学习Spring框架系列(二):对比学习 Template Method And CallBack Function

Spring对JDBC的抽象和对Hibernate的集成,都采用了一种理念或者处理方式,那就是Template模式与相应的Callback 接口相结合。比如JdbcTemplate的execute方法、HibernateTemplate的execute方法。   采用模板方法模式是为了以一种统一而集中的方式来处理资源的获取和释放 以JdbcTempalte为例,如下:

时光在路上 2763

ansys非线性分析中接触类型

不分离(No Separation)‌:法向始终保持接触不分离,切向允许自由滑动,属于线性接触,适合需要法向约束、允许微小切向位移的场景,比如过盈配合的简化模拟。有摩擦(Frictional)‌:法向允许分离,切向根据用户设置的摩擦系数计算摩擦力,是工程中最符合实际机械接触的类型,绝大多数装配体分析都选择该类型。无摩擦(Frictionless)‌:法向允许接触面分离,切向无摩擦、允许自由滑动,适合模拟理想润滑的光滑接触面,图中当前选择的就是该类型。非线性接触(需要多次迭代,属于真正的非线性接触行为)‌。

qq_15963745的博客 71

[Unity开发] [PICO]避坑指南:PICO商店上传APP时PXR Platform APPID设定详解

PICO开发者上传Unity应用时常见的"APPID不符"问题,主要源于混淆了开发者后台两个不同位置的APPID。

每日出拳老爷子的博客 555

JDBC - 操作数据库接口规范

JDBC相关 JDBC基本概念 快速入门 对JDBC中哥哥接口和类详解 JDBC 概念 : Java Database Connectivity Java数据库连接, Java语言操作数据库 JDBC本质 : 其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商去实现这套接口,提供数据库驱动jar包,我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类. 快速入门 : 导入驱动jar包 注册驱动 获取数据库连接对象 定义sql语句 获取

笑三年-Dylen 552

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java实习模拟面试之DbUtils:深入解析JDBC工具类库与数据库操作优化

在Java Web开发中,JDBC(Java Database Connectivity)是连接Java程序与关系型数据库的标准API。然而,原生JDBC的使用存在大量重复的样板代码(boilerplate code),如连接管理、异常处理、资源关闭等,不仅繁琐易错,还影响开发效率。为此,Apache Commons项目提供了DbUtils这一轻量级工具类库,旨在简化JDBC操作,提升代码的可读性和健壮性。作为Java方向的实习生,掌握DbUtils不仅是对JDBC知识的深化,更是理解“

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 660

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JDBCTemplate数据库封装技术

JDBCTemplate的使用

雷东宸的博客 915

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

HoRain云--Java连MySQL:从JDBC到连接池全攻略

本文介绍了Java连接MySQL数据库的完整方案指南。从基础JDBC开始,详细说明MySQL 8驱动配置要点,强调PreparedStatement防注入的重要性。生产环境推荐使用HikariCP或Druid连接池提升性能,并给出SpringBoot整合JdbcTemplate的简化写法。对比了JDBC、MyBatis和JPA三种方案的适用场景,列举了MySQL 8常见问题及解决方法。最后根据不同场景给出技术选型建议:学习使用JDBC+MySQL8驱动,SpringBoot项目推荐JdbcTemplate+

2401_86544677的博客 174

Spring 是什么

通过Spring提供了 IOC 容器,可以将对象间的依赖关系交由 Spring进行控制,避免硬编码所造成的过度耦合。Spring的源代码设计精妙,结构清晰,匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的。通过Spring的AOP功能,方便进行切面编程,许多不容易传统OOP实现的功能可以通过AOP轻松实现。可以用非容器的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。阐述了 J2EE 开发不使用EJB的解决方案(Spring 雏形)

weixin_43346403的博客 179
上一篇: JDBC之Druid工具类
下一篇: 线程的创建
Tket
博客等级 码龄9年 21粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值