Java开发基础-JDBC-基本使用步骤—05

Java Web系列之JDBC Java Web系列之JDBCJDBCJDBC API主要功能JDBC访问数据库的具体步骤JDBCDemo代码数据库驱动处理CLOB/BLOB类型总结 本文最初由security9968发布于security9968的csdn博客,禁止任何形式的剽窃行为 转载原创文章请注明,转载自:security的博客 本文学习自DT课堂原名颜群 JDBC JDBC:Java DataBase Connectivity 可以为多种不同关系型数据库提供统一访问方式,用Java操作数据库 架构: Java程序 阅读详情

代码改进背景介绍:V3版本

如果每次使用都创建新连接或使用一个连接不利于连接的操作性能提高还会加重连接负担,

为了提高数据库连接使用性能这个问题,我们可以使用

commons-dbcp提供的org.apache.commons.dbcp包中BasicDataSource工具类:即DBCP的方式创建连接池管理连接。

DBCP的方式创建连接池:

首先通过下面的简单实例了解如何使这个工具类:

项目结构如下图所示:


需要引入Jar: commons-dbcp1.4.jar 【其他版本也可】

1.在resources目录下编写数据库连接属性文件db.properties:【注意:这里使用:与=效果一样】

jdbc.driverclass=oracle.jdbc.driver.OracleDriver
jdbc.url:jdbc:oracle:thin:@localhost:1521:orcl
jdbc.user=learn
jdbc.password=learn
jdbc.maxActive=2
jdbc.initSize=1
2.编写DBCP测试类TestDBCP:
/**
 * 演示DBCP连接池的使用,高效使用数据库连接
 * 
 * DBCP:实现类BasicDataResource
 * @author Cher_du
 *
 */
public class TestDBCP {
	
	public static void main(String[] args) throws SQLException {
		
		//创建连接池核心组件对象
		BasicDataSource ds = new BasicDataSource();
		//初始化连接池
		
		ds.setDriverClassName("oracle.jdbc.driver.OracleDriver");
		ds.setUrl("jdbc:oracle:thin:@localhost:1521:orcl");
		ds.setUsername("learn");
		ds.setPassword("learn");
		ds.setMaxActive(2);
		ds.setInitialSize(1);
		//通过连接池获取连接
		Connection conn = ds.getConnection();
		System.out.println(conn);
	}

}
3.运行程序我们可以看到成功通过DBCP连接池获取到数据库连接

通过上面通过DBCP创建连接池再从中获取连接的简单介绍,下面通过它来改进我们之前的DBUtil2工具类:

/**
 * 该类用来管理连接
 * 数据库连接信息,保存在属性文件中
 * 使用连接池获取连接
 * @author Cher_du
 *
 */
public class DBUtil3 {
	
	private static BasicDataSource ds;
	
	static{
		//加载属性文件数据
		Properties prop = new Properties();
		try {
			prop.load(DBUtil3.class.getClassLoader().getResourceAsStream("db.properties"));
			
			String driverClass = prop.getProperty("jdbc.driverclass");
			String url = prop.getProperty("jdbc.url");
			String user = prop.getProperty("jdbc.user");
			String password = prop.getProperty("jdbc.password");
			String strMaxActive = prop.getProperty("jdbc.maxActive");
			String strInitSize = prop.getProperty("jdbc.initSize");
			//实例化,并初始化连接池
			ds = new BasicDataSource();
			ds.setDriverClassName(driverClass);
			ds.setUrl(url);
			ds.setUsername(user);
			ds.setPassword(password);
			ds.setMaxActive(Integer.parseInt(strMaxActive));
			ds.setInitialSize(Integer.parseInt(strInitSize));
			
		} catch (IOException e) {
			e.printStackTrace();
			throw new RuntimeException("读取属性文件错误",e);
		}
		
	}
	
	//2.创建连接
	public static Connection getConnection() throws SQLException{
		return ds.getConnection();
	}
	
	//3.关闭连接
	public static void close(Connection conn){
		if(conn !=null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException("关闭连接错误!",e);
			}
		}
	}
	
	//测试
	public static void main(String[] args) throws SQLException {
		Connection conn = getConnection();
		System.out.println(conn.getClass().getName());
		System.out.println(conn);
		close(conn);
	}

}

运行程序可以看到成功通过DBCP获取到数据库连接信息!



JDBC的使用 注册驱动【依赖的驱动类,进行安装】获取连接【Connection建立连接】创建发送SQL语句对象【Connection创建发送SQL语句的Statement】发送SQL语句,并获取返回结果【Statement 发送sql语句到数据库并且取得返回结果】结果集解析【结果集解析,将查询结果解析出来】资源关闭【释放ResultSet、Statement 、Connection】 阅读详情

相关推荐

Unity Scriptable Build Pipeline (SBP) 详解

Unity 的可编程构建管线(Scriptable Build Pipeline, SBP)标志着引擎构建架构的一次关键转变,它从不透明的 C++ 实现转向了灵活、可扩展的 C# 框架。SBP 旨在满足现代游戏开发日益增长的需求,通过改进增量处理和高效缓存机制显著提升了构建性能。它赋予开发者对内容构建过程前所未有的控制力,从而能够针对特定项目需求进行深度定制。尽管 SBP 是 Unity 推荐的 Addressables 系统的重要基础层,但理解其核心组件、构建流程和高级功能对于优化大型项目、简化 CI/C

m0_57771536的博客 2209

class.getClassLoader().getResourceAsStream报错java.lang.NullPointerException

class.getClassLoader().getResourceAsStream报错java.lang.NullPointerException

keepstrivingchy的博客 2275

iPhone免越狱Git服务器搭建教程-iSH

iPhone免越狱Git服务器搭建教程

jts666的博客 4429

Java开发基础-JDBC-基本使用步骤—04

代码改进背景介绍:V2版本如果将数据库连接信息放在代码中不利于后期的维护查找,为了解决这个问题,我们可以使用java提供的API工具类:java.util.Properties来实现。首先通过下面的简单实例了解如何使这个工具类:项目结构如下图所示:1.在resources目录下编写数据库连接属性文件:【注意:这里使用:与=效果一样】jdbc.driverclass=oracle.jdbc.driv...

Coder_Boy_的博客 302

Wireshark抓包分析:如何从HTTP流量中快速定位黑客攻击痕迹(附pcap文件)

本文通过Wireshark实战,详细解析了如何从HTTP流量中快速定位黑客攻击痕迹。文章提供了核心过滤策略,并重点剖析了如何识别SQL注入攻击的流量特征、揭露WebShell的隐蔽通信以及追踪攻击者在横向移动中的行为,帮助安全人员系统性地从pcap文件中还原完整攻击链。

sprite的博客 1010

keil+Jlink GD32调试记录

Jlink+keil,GD32调试记录,踩坑及解决,持续更新。

SUN_BW的博客 2957

【三种解决方案】Property ‘dataSource‘ is required

在做黑马某案例时遇到的问题如下: properties文件放到resources路径下 jar包需要放到WEB-INF路径下的lib文件中,且lib不能写为libs 在JDBCUtils类中,加载properties文件时,一定要与文件名大小写保持一致!!!!! 因为JDBC测试时,是可以不区分大小写的。而在tomcat服务器上运行时,写prop.load(JDBCUtils.class.getClassLoader().getResourceAsStream("Druid.properties"));

BlackBox_的博客 3719

Sigmastar平台WDR调试实战:从参数解析到鬼影消除的完整指南

本文提供了Sigmastar平台宽动态(WDR)技术的实战调试指南。针对逆光、运动场景下的核心痛点,系统性地解析了从多曝光采集、HDR融合到色调映射的完整管线,并重点阐述了如何通过调整曝光比、运动阈值与调整曲线等关键参数,有效消除运动鬼影、平衡暗部噪声与细节,最终实现清晰稳定的图像效果。

Jerry的专栏 930

JAVA中JDBC 访问数据库的基本步骤

在Java开发中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它允许Java程序与数据库进行交互。无论是访问关系型数据库还是其他类型的数据库,JDBC都提供了一套统一的标准接口。下面,我们将简要介绍使用JDBC访问数据库的基本步骤。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 7910

fNIRS 公开数据集整理

关注“心仪脑”查看更多脑科学知识的分享。 关键词:数据整理、fNIRS 之前我们向大家推送了 Public Neuroscience Dataset 系列主题的第一期:《EEG公开数据集》,我们同时意识到大家对于神经科学公开数据集的需求。本期是该系列主题的第二期,我们在延续第一期初衷的基础上,整理了功能性近红外光谱(fNIRS)技术的公开数据集。 fNIRS 是一种非侵入性、便携且价格低廉的光学神经成像技术,它具有可观的空间和时间分辨率。因fNIRS技术问世较EEG晚了许多,所以应用此技术开展研究发.

psybrain的博客 4272

AI Agent智能体在Android开发中的应用

本文探讨了AIAgent(智能代理体)在Android开发中的应用,涵盖技术原理、实践案例与未来趋势。AIAgent通过机器学习、自然语言处理等技术实现代码生成、测试自动化及性能优化,显著提升开发效率。例如,强化学习模型可优化APP响应时间(公式:$\text{响应时间}=f(\text{负载},\text{资源})$),自动化测试覆盖率提升至95%。

郑伟强dev的专栏 125

【JavaEE基础学习打卡05】JDBC之基本入门就可以了!

本文主要讲述 JDBC 编程基本步骤,带领大家基本入门,通过 JDBC API 实现与数据库连接,并简单查询数据库表中的数据到 Java 中。但是总想把知识点的前前后后都说清楚,所以整体篇幅有点长。

蜗牛老师,专注编程领域 1226

为YOLOv11引入自适应特征融合模块(ASFF)

本文探讨了在YOLOv11中引入ASFF(自适应空间特征融合)模块以解决多尺度目标检测性能不均衡的问题。作者分析了传统FPN固定融合策略的缺陷,详细介绍了ASFF模块的实现原理,包括动态权重生成网络设计和特征融合机制。通过将ASFF集成到YOLOv11颈部网络,实现了特征在双向流动时的自适应融合,在复杂场景下mAP提升1.2%而推理时间仅增加3-5ms。文章还分享了训练调参技巧和部署注意事项,指出ASFF特别适合交通监控等目标尺度变化大的场景,但强调需根据实际需求平衡模型复杂度与性能。最后提供了工程实践建议

as1225120794的博客 322

Java学习之JDBC基本使用

JDBC中如何连接数据库及ResultSet、Statement、PrepareStatement、事务、批处理的基本使用

404 Not Found 1081

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

使用Intellij Idea 创建一个JDBC连接sqlserver数据库的程序步骤

详情看这个链接

yiqzq的博客 2万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

JDBC介绍

1 JDBC简介 概念:JDBC(Java DataBase Connectivity) :Java数据库连接技术:具体讲就是通过Java连接广泛的数据库,并对表中数据执行增、删、改、查等操作的技术。如图所示: 此前我们学习过SQL后,可以通过 Navicat、SQLyog等图形化客户端发送SQL操作数据库。本质上,JDBC的作用和图形化客户端的作用相同,都是发送SQL操作数据库。差别在图形化界面的操作是图形化、傻瓜化的,而JDBC则需要通过编码(这时候不要思考JDBC代码怎么写,也不要觉得它有多难)完

weixin_40055163的博客 5万+

【Mysql系列】05_JDBC使用

JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API由包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的APl,可以为多种关系数据库提供统一访问。...

1015

05 JDBC基础

将内存中的数据永久保存在磁盘中,方便以后使用。

jgxc152的博客 802

day05【JDBC入门】

今日内容 JDBC基本概念 快速入门 对JDBC中各个接口和类详解 1 JDBC 1.1 概念Java DataBase Connectivity Java数据库连接,Java语言操作数据库 1.2 快速入门 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar 复制jar包到项目的libs目录下,右键->Add As Library 注册驱动 获取...

爱洗澡的拉布拉多的博客 1295

05:JDBC的开发步骤,及其抽取的JDBCUtils工具类

1.1、JDBC是什么? JDBC是一种用于执行SQL语句的Java API。(Java Data Base Connectivity,java数据库连接),是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用Java语言编写的接口和类组成。 1.2、JDBC原理是什么? 驱动(实现类)用于连接和操作数据库,实现JDBC(接口规范), Java提供访问数据库的规...

编程试炼 380

JDBC基础使用

title: JDBC基础使用 date: 2019-05-02 20:09:21 tags: [“Java”, “JDBC”] 本文记录简单使用JDBC的教程 准备工具: eclipse、mysql mysql建数据库和数据表 //创建数据库ZHOUHANG create database ZHOUHANG; //使用数据库 use ZHOUHANG; //创建数据表 create tab...

zhouhangzooo的博客 191

05、JDBC

05、JDBC1. JDBC 概述1.1 客户端操作数据库的方式1.2 什么是JDBC1.3 JDBC 原理2. JDBC 开发2.1 数据准备2.2 MySql驱动包 1. JDBC 概述 1.1 客户端操作数据库的方式 方式1: 使用第三方客户端来访问 MySQL:SQLyog 方式2: 使用命令行 我们今天要学习的是通过 Java程序 来访问 MySQL 数据库 1.2 什么是JDBC JDBC(Java Data Base Connectivity) 是 Java 访问数据库的标准规范.是一

weixin_44796239的博客 777

Java05 JDBC介绍及基本操作

目录 一、JDBC概念 二、使用JDBC步骤 2.1 加载驱动 2.1.1 基本语法 2.1.2 常见驱动(需要提前导入jar包) 2.2 建立连接 2.2.1 基本语法 2.2.2 常见url写法 2.3 创建语句对象 2.4 执行sql语句 2.4.1 执行DQL语句 2.4.2 执行DML语句 2.4.3 执行DDL语句 2.4.4 提交事务 2.5 清理资源 三、Re...

pangbianlaogu的博客 312

JDBC操作步骤,简单的使用

JDBC基本概念 1、JDBC:Java DataBase Connectivity(Java语言连接数据库) 2、JDBC本质是什么? JDBC是SUN公司制定的一套接口(interface) 接口都有调用者和实现者。 面向接口调用、面向接口写实现类。这都属于面向接口编程 为什么要面向接口编程? 降低耦合:降低程序的耦合度,提高程序的扩展力。 多态机制就是非常典型的:面向抽象编程 编写JDBC六...

qq_39026607的博客 561

JAVA采用JDBC连接操作数据库详解

JDBC连接数据库概述 一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,

分布式领域探索 1万+

jdbc mysql 函数_Java JDBC基本使用方法详解

本文实例讲述了Java JDBC基本使用方法。分享给大家供大家参考,具体如下:本文内容:什么是JDBCJDBC的使用事务连接池DbUtils首发日期:2018-05-27修改:2018-07-19:增加了事务、连接池、DBUtils2018-07-27:对特别情况下的事务进行了描述。对DBUtils增加了关闭资源、关闭流。连接池发现漏了释放连接。什么是JDBC:JDBC全称Java Databas...

weixin_39943370的博客 515
上一篇: Java开发基础-JDBC-基本使用步骤—04
下一篇: Java开发基础-JDBC-基本使用步骤—06
Coder_Boy_
博客等级 码龄10年 2804粉丝 819原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值