Spring JDBC,Druid技术

Java中JDBC的进阶——Druid和SpringJDBC的使用 Druid 什么是druid? Druid是Alibaba(阿里巴巴)旗下开发的产品。 Druid不仅是一个数据库连接池,还包含一个ProxyDriver、一系列内置的JDBC组件库、一个SQL Parser。 支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等。Druid提供了MySql、Oracle、Postgresql、SQL-92的SQL的完整支持,这是一个手写的高性能SQL Parser,支持Visitor模式,使得分析SQL 阅读详情
  • Spring JDBC是:Spring框架对JDBC的简单封装

操作步骤:

第一步:还是我们熟悉的导入jar包
第二步:创建jdbcTemplate对象,依赖于数据源DataSource对象(也就是说还是先要创建DataSource对象)。[Template是 模板 的意思]

//还是先要使用DruidDataSourceFactory类的 createDataSource()方法获取DataSource对象
DataSource ds =DruidDataSourceFactory.createDataSource();
//再传入DataSource进jdbcTemplate的构造器中,创建jdbcTemplate对象
jdbcTemplate template = new jdbcTemplate(ds);

第三步:写sql

String sql = ".insert into employee(ename,money)values(?,?)"

第四步:执行sql
是的,您没有看错。
使用Spring框架的jdbcTemplate对象,什么创建数据库连接对象。获取执行sql语句的对象。等等都没有了甚至连close方法你都不需要再调用了,就是这么优秀。

  • 这里涉及到了DML语言和DQL语句
    1.如果是DML语言,直接调用jdbcTemplate对象里边的Uptada()方法执行sql
    template.uptada(sql,"给第一个?赋值",“第二个?赋值”,“给第三个?赋值”.......)

    2.如果是DQL语言,就有点麻烦了。

  • 要介绍jdbcTemplate对象里边的成员方法了

  • 1.queryForMap():将查询的结果封装为一个Map集合。但是只能封装一行记录,也即是说无论你查出多少行都只能封装一行数据。

  •  //2.写sql
     String sql = "select * from employee where money = ? ";
    
     //3.执行sql 并 将查询的结果封装为Map集合
     Map<String, Object> som = template.queryForMap(sql, 1000);`
    
  • 2.queryForList():将查询的结果集封装为一个以Map集合为单位的List集合。他的里边都是一个个Map集合.

  •    //2.写sql
      String sql = "select * from employee  ";
     
      //3.执行sql 并 将查询的结果封装为以Map集合为单位的List集合
      List<Map<String, Object>> list = template.queryForList(sql);`
    
    
  • 3.query():可以封装为一个以 自定义对象 为单位的List集合

        //2.写sql
        String sql = "select * from employee  ";

        //3.执行sql 并 将查询的结果封装为以 自定义对象 为单位的List集合
        List<Emp> list = template.query(sql, new RowMapper<Emp>() {
            /**
             *实现RowMapper接口的mapRow方法
             * @param rs 结果集对象
             * @param i
             * @return 返回Emp对象
             * @throws SQLException
             */
            @Override
            public Emp mapRow(ResultSet rs, int i) throws SQLException {
                //ResultSet结果集对象已经给我了,所以
                String ename = rs.getString("ename");
                int money = rs.getInt("money");

                //创建Emp对象
                Emp emp = new Emp();
                emp.setEname(ename);
                emp.setMoney(money);

                return emp;
            }
        });

第三个成员方法query()的优化【用的最多】。
上边是我自己纯手写实现RowMapper接口中的mapRow方法。而下边就是BeanPropertyRowMapper类帮我实现RowMapper的mapRow方法,能理解意思把~

        //2.写sql
        String sql = "select * from employee  ";

        //3.执行sql 并 将查询的结果封装为List集合
        List<Emp> list = template.query(sql, new BeanPropertyRowMapper<Emp>(Emp.class)); //参数需要传class文件
        //又节省了好多代码。BeanPropertyRowMapper类实现了RowMapper

第四个成员方法 queryForObject方法 ,用于聚合函数

最后能祝您能快乐的学好JDBC相关知识哦~~奥里给!

SpringBoot整合JDBC&Druid;数据源示例 SpringBoot整合JDBC&Druid;数据源示例,整合看一下监控页面,拿来即用,省时省力,增加了自定义配置,注册自己的配置参数。 立即下载

相关推荐

hi3516cv610在PQStream上实现拉出图像,windows和板端操作记录

PQStream拉出图像

weixin_51838255的博客 728

springboot篇--3.整合JDBC及druid数据库

springboot篇--3.整合JDBC及druid数据库

he123456lei的博客 2307

vCenter Server出现no healthy upstream的解决方法

可以通过"VMware vCenter Server Management(服务)"来排查问题,在网页里面找到“服务”模块,会发现有很多服务没有启动起来,而且手动启动也无法启动。7.0 地址后,页面出现“no healthy upstream”,无法正常登录vCenter,重启后依旧如此,该故障的前提是没有对vCenter做过任何配置,如下图所示。于是用命令查询是否有证书过期,发现真有多个服务依赖的证书在当天早上过期。使用如下命令尝试打开服务发现不分服务可以打开,不分服务无法打开。

1万+

SpringBoot:整合jdbc、整合Druid

目录 整合jdbc 整合Druid 整合jdbc 项目创建时,要添加JDBC API、MySQL Driver、spring web这三个依赖 在application.yml中,配置数据源的信息 spring: datasource: username: *** password: *** url: jdbc:mysql://localhost:3306/db_7?useUnicode=true&characterEncoding=UTF-8&s.

qq_51476114的博客 1406

Kotlin kapt插件报错全解析:从Could not load module到彻底解决(含Gradle 8.2.2适配指南)

本文深度解析了Kotlin开发中常见的kapt插件报错“Could not load module”的根源,并提供了从诊断到解决的完整方案。重点探讨了Gradle 8.2.2与Kotlin 1.9.x的兼容性问题,包括JVM IR后端冲突、配置缓存问题及依赖版本对齐,并给出了详细的调试技巧与迁移至KSP的建议。

rrr55的博客 315

400G光模块测试全攻略:从PCS层到CMIS合规的避坑指南

本文为网络设备测试工程师和光通信研发人员提供了一份详尽的400G光模块测试实战指南。文章深入剖析了从PCS层信号完整性、FEC容限到CMIS管理接口合规性测试的全流程,并分享了ANLT协议分析、SerDes眼图调试以及系统级流量压力测试中的核心技巧与常见避坑点,旨在帮助读者构建一套高效、精准的测试体系,确保高速光模块的可靠性与性能。

weixin_29300931的博客 211

阿里巴巴数据库连接池--Druid

Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。 Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。 同时Druid不仅仅是一个数据库连接池,它包括四个部分: Druid是一个JDBC组件,它包括

编程人生 984

多目标优化NSGA-II(快速精英非支配排序遗传算法)及python实现

文章目录前言一、什么是NSGA-II?二、学习NSGA-II1.快速非支配排序算法2.密度估计3.拥挤比较算子4.主循环5.代码6.总结 前言 NSGA-II适用于复杂的多目标优化问题,是K-Deb教授在2000年在一篇paper《MOEAs — A fast and elitist multi-objective genetic algorithm: nsga2》提出。 Keywords: optimization; multi-objective evolutionary algorithm; no

ricky_blog 9745

JDBC基础知识2【Druid连接池、Spring JDBC】

今日内容 数据库连接池 Spring JDBC : JDBC Template 数据库连接池 概念 其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 好处 节约资源 用户访问高效 实现 标准接口:DataSource javax.sql包下的 方法: 获取连接:getConnection() 归还连接:Connection.close()。如果连

Kuber 435

9.16华为OD机试真题 新系统 - 矩阵螺旋遍历 (Java/Py/C/C++/Js/Go)

9.16华为OD机试真题 新系统 - 矩阵螺旋遍历 (Java/Py/C/C++/Js/Go)

算法大师! 647

IEEE S&P 2026 大模型安全论文整理

本文梳理了 IEEE S&P 2026(第47届 IEEE 安全与隐私研讨会)中与 LLM Safety 相关的论文,涵盖大模型越狱攻击、防御与对齐、隐私保护、RAG 安全、多模态大模型安全、智能体安全、图-LLM 安全、工具链安全及生成式 AI 安全与隐私等方向。

CSPhD-winston的博客 1335

数据库连接池技术C3PO和druid以及 Spring JDBC

数据库连接池 频繁的创建和释放Connection连接对象对资源产生极大浪费。数据库连接池是一个存放数据路连接对象的容器。当用于需要访问数据库时,从容器中获取容器对象,当用户访问完后,将对象归还给连接池。 优点: 节约资源 用户访问高效 实现方式 标准接口:DataSource javax.sql包下 一般不去实现,有数据库厂商实现 C3P0: 数据库连接池技术 Druid: 数据库连接池实现技术,阿里巴巴提供 C3P0连接池 导入 c3p0-0.9.5.5.jar和mchange

ccccrj博客 298

使用xlwings在Python中对Excel表格进行操作是非常方便的,可以实现自动化处理、批量数据处理等功能

使用xlwings在Python中对Excel表格进行操作是非常方便的,可以实现自动化处理、批量数据处理等功能。本篇文章主要介绍如何使用xlwings对Excel表格进行多行多列数据设置和操作,并给出相应的源代码。接着,我们可以对这个范围内的所有单元格进行操作,如设置字体颜色、填充颜色、对齐方式等。以上就是使用xlwings对Excel表格进行多行多列数据操作和设置字体颜色、填充色和对齐方式的全部内容。最后,我们可以将数据写入到单元格中,也可以从单元格中读取数据。在Excel中,可以通过。

BUG?不存在的! 713

JDBC MySQL数据库连接池实现技术C3P0和Druid以及Spring框架对JDBC的封装JdbcTemplate

1. 数据库连接池 概念:其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 好处: 节约资源 用户访问高效 2. 数据库连接池技术—C3P0 步骤: (1) 导入jar包 c3p0-0.9.5.2.jar mchange-commons-java-0.2....

RainOrSunshine的博客 351

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

数据库连接池 C3P0:数据库连接池技术 Druid:数据库连接池实现技术 spring JDBC

文章目录数据库连接池C3P0:数据库连接池技术Druid:数据库连接池实现技术spring JDBC 数据库连接池 概念:其实就是一个容器(集合),存放数据库连接的容器 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将里阿尼额对象归还给容器 好处 节约资源 用户访问高效 实现 标准接口:DataSource javax.sql包下的 方法 获取连接:getConnection() 归还连接:Connection.cl

weixin_54425421的博客 443

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JDBC学习2——数据库连接池技术(C3P0、Druid)、Spring JDBC

1.数据库连接池 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 这样做的好处有两个:节约资源;用户访问高效。 1.1 数据库连接池的实现 标准接口:DataSource(数据源,即数据库连接池),这是javax.sql包下的,它没有对应的实现类,谁提供数据库的驱动,谁负责实现。 DataSource中有两个方法: 获取连接:getConnection()

weixin_46185085的博客 192

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring 框架 JDBC 模板技术详解

引入依赖:包含 Spring JDBC 模块、数据库驱动和连接池(如 Druid)。配置连接池:通过 Spring 配置文件管理数据库连接信息,支持内置或开源连接池。注入模板类:将纳入 Spring 容器,通过依赖注入获取实例。执行操作:利用的增删改查方法,结合RowMapper处理结果集。

2301_77071977的博客 865

第四章 Spring集成JDBC

SpringFramework学习笔记

richieandndsc的博客 1253

数据库连接池:C3P0、Druid、Spring JDBC ----JDBC Template

数据库连接池 1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 2. 好处: 1. 节约资源。 2. 用户访问高效。 3. 实现: 1. 标准接口:DateSource javax.sql包下的 1. 方法: * 获取连接:g...

weixin_45291606的博客 190

第 6 章: Spring 中的 JDBC

JDBC 的全称是 Java Database Connectivity,是一套面向关系型数据库的规范。虽然数据库各有不同,但这些数据库都提供了基于 JDBC 规范实现的 JDBC 驱动。开发者只需要面向 JDBC 接口编程,就能在很大程度上规避数据库差异带来的问题。Java 应用程序基本上是通过 JDBC 来连接并操作数据库的,哪怕我们使用了对象关系映射框架(例如 Hibernate),其底层也是用 JDBC 来与数据库进行交互的。 6.1 配置数据源 无论是简单的增删改查操作,还是复杂的数据分析任务,都

Binge毕设 2474

springboot之jdbc、druid、mybatis、redis

父母和外婆都不再是能够更改心中珍视之物先后顺序的年纪。

梦想是很难很难的,所以先勇敢一点 607

JDBC连接池

JDBC连接池 概念:其实就是一个容器(集合),存放数据库连接的容器。   当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 好处: 节约资源 用户访问高效 实现: 标准接口:DataSource javax.sql包下的 方法: 获取连接:getConnection() 归还连接:...

dingliuji5223的博客 200

JDBC 连接池 & JDBC Template

此博客用于个人学习,来源于网上,对知识点进行一个整理。 一,数据库连接池: 1.概念: 其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 2.好处: 节约资源 用户访问高效 3.如何实现: 标准接口:DataSource javax.sql 包下的 方法: 获取连接:getConnection() 归还连接:Connection.close()。如果连接

paynmind的博客 152

除了JDBC,还有哪些常见的数据库访问技术?

技术类型代表技术核心优势适用场景半自动化 ORMMyBatisSQL 可控,支持复杂查询复杂 SQL 场景、电商/报表项目全自动化 ORM代码极简,跨数据库支持简单 CRUD 场景、Spring 技术栈项目高性能连接池HikariCP速度快、资源消耗低高并发项目、Spring Boot 新项目功能型连接池Druid监控/防注入,功能全面企业级应用、需要 SQL 监控的项目简化版 JDBC轻量、保留 SQL 控制简单 SQL 场景、避免框架过度依赖。

2509_93306611的博客 707

JDBC

JDBCUtil类(JDBC工具类) package Login; import java.sql.*; //导入java.sql包 public class JDBCUtil {//创建Login类,保证文件名与类名相同 private static final String driver = "com.mysql.jdbc.Driver"; private static final String url = "jdbc:mysql://cdb-4zq7z550.bj.tencen

qq_45747681的博客 771

Spring框架 - JDBC模板技术

摘要:本文介绍了传统JDBC操作流程及其存在的代码冗余、资源管理繁琐等问题,重点阐述了Spring框架JdbcTemplate的优势。详细说明了JdbcTemplate的两种使用方式:手动创建对象和交由Spring容器管理,并演示了与Druid连接池的集成方法。通过具体代码示例展示了增删改查操作,对比传统JDBC,JdbcTemplate能显著简化开发,自动管理资源,提供统一异常处理,使开发者更专注于业务逻辑。

m0_64928156的博客 867
上一篇: JDBC连接池讲解 Druid技术
下一篇: 斗地主综合案例解析,javase
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值