Java调用数据库 笔记05(查询篇)

news2024/9/24 12:34:52

一. 数据库(通过各种驱动来实现调用):

(应用程序通过接口控制的各种数据库驱动来调用数据库-->jdbc方法)

1.创建Java的普通class类

2.加载驱动

Class.forName("com.mysql.jdbc.Driver");

3.驱动管理类调用方法进行连接,得到连接对象

DriverManager.getConnection(url, user, password);

其中设置参数:

static final String url= "jdbc:mysql://localhost:3306/填写数据库名字";
static final String user="root";
static final String password="填写密码值";
//final设置这些参数数据不可更改

强制类型转换【子类 对象名=(子类)父类】

Connection connection=(Connection)DriverManager.getConnection(url, user, password);

4.创建执行sql的对象

 Statement statement=(Statement)connection.createStatement();
//大碗套小碗,同理上一条

5.执行sql对象

ResultSet resultSet = statement.executeQuery(sql);

6.处理数据

while (resultSet.next()) {//打印处理
			String id =resultSet.getString("id");
			String name=resultSet.getString("name");
			String age=resultSet.getString("age");
			System.out.println(id+" "+name+" "+age);
		}

7.释放资源

//释放资源(倒着释放资源)
		if(resultSet!=null) {
		   	resultSet.close();
	   }
		if(statement!=null) {
	    	statement.close();
	    }
	    if(connection!=null) {
	    	connection.close();
	    }//只要不为空,就手动关闭

二.完整版本

package db;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.Spring;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class data {
	//final设置不可更改属性
	static final String url= "jdbc:mysql://localhost:3306/rain";
	static final String user="root";
	static final String password="2020";
	public static void main(String[] args) {
		String sql = "select * from st01";//获取数据
		search(sql);
	}
	//创建查找方法
	public static void search(String sql) {
		//①加载驱动,调用数据库
		try {
			Class.forName("com.mysql.jdbc.Driver");
			//驱动管理类调用方法进行连接,得到连接对象
			//子类 对象名=(子类)父类-->大碗装小碗
			Connection connection=(Connection)DriverManager.getConnection(url, user, password);
			//创建执行sql的对象
		    Statement statement=(Statement)connection.createStatement();
		    //执行sql对象
		    ResultSet resultSet = statement.executeQuery(sql);
		    //处理数据
		    while (resultSet.next()) {
				String id =resultSet.getString("id");
				String name=resultSet.getString("name");
				String age=resultSet.getString("age");
				System.out.println(id+" "+name+" "+age);
			}
		    //释放资源(倒着释放资源)
		    if(resultSet!=null) {
		    	resultSet.close();
		    }
		    if(statement!=null) {
		    	statement.close();
		    }
		    if(connection!=null) {
		    	connection.close();
		    }
		    
		    
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}

输出结果:

(结果对应数据库中的:)

【开始-->导入驱动包-->加载驱动包-->输入信息进行数据库连接-->执行sql语句---查找->resultSet处理数据-->回收resultSet对象-->回收statements对象-->回收connection对象-->结束】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160356.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++_23_STL容器

文章目录 STL容器概念常用容器A string作用构造函数基本赋值操作获取字符串长度存取字符操作拼接操作查找和替换注意:查找是不存在返回-1比较操作截取操作插入与删除string与char * 转换 B vector概述与数组区别迭代器构造函数赋值操作插入与删除取值操作大小相关存储自定义类型…

linux 安装 tomcat9、java环境

一、安装 Java环境 1. 下载文件 https://repo.huaweicloud.com/java/jdk/ 或者网盘:通过网盘分享的文件:jdk-8u192-linux-x64.tar.gz 链接: https://pan.baidu.com/s/1V3pQWzgSLJxdrUdmmKueRA 提取码: qspw 2. 查看Linux系统是否有自带的jdk&#xf…

智慧水利采砂船在线监控平台:构建高效、智能的河道采砂监管体系

随着科技的不断发展,水利行业的智慧化转型也日益受到重视。智慧水利采砂船在线监控平台便是这一转型的重要成果之一。该平台主要服务于水政执法人员,针对取得河道采砂许可证的采砂公司及采砂船,实施在线自动监控,旨在提高监管效率…

评论表设计与实现(多级评论)

首先分析评论的类型 对文章的回复(也称根回复或一级回复)对根评论的回复 (二级回复,被回复的评论id和根评论相同)对回复的回复(二级回复,被回复的评论id和根评论不同) 抽象出数据库…

if __name__ == ‘__main__‘: 在 Python 中的作用

Python Python 是一种广泛使用的高级编程语言,它以其易读性和简洁的语法而闻名。Python 支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。它由 Guido van Rossum 创建,并在 1991 年首次发布。 Python 的一些关键特性包括&#…

MacOS Catalina 从源码构建Qt6.2开发库之02: 配置QtCreator

安装Qt-creator-5.0.2 在option命令中配置Qt Versions指向 /usr/local/bin/qmake6 Kits选入CLang

解决银河麒麟桌面操作系统V10SP1 SSH连接“connection reset by ip地址 port 22”问题

解决银河麒麟桌面操作系统V10SP1 SSH连接“connection reset by ip地址 port 22”问题 💖The Begin💖点点关注,收藏不迷路💖 遇到SSH连接银河麒麟V10SP1时“connection reset by ip地址 port 22”的错误,可以尝试以下步…

GNU链接器(LD):设置入口点(ENTRY命令)的用法及实例解析

0 参考资料 GNU-LD-v2.30-中文手册.pdf GNU linker.pdf1 前言 一个完整的编译工具链应该包含以下4个部分: (1)编译器 (2)汇编器 (3)链接器 (4)lib库 在GNU工具链中&…

#嵌入式笔面经分享#科大讯飞公司嵌入式硬件面经(第1面)

DNS是什么 DNS(Domain Name System)是一种用于将域名转换为IP地址的分布式命名系统。它充当 7.12 440 一个组产出最 7.12 440 一个组产出最多的是组长,是管理,这个组不正常。​出一个小学数学应用题:在 OSI七层模型?…

基于二自由度汽车模型的汽车质心侧偏角估计

一、质心侧偏角介绍 在车辆坐标系中,质心侧偏角通常定义为质心速度方向与车辆前进方向的夹角。如下图所示,u为车辆前进方向,v为质心速度方向,u和v之间的夹角便是质心侧偏角。 质心侧偏角的作用有如下三点: 1、稳定性…

什么是反射,反射用途,spring哪些地方用到了反射,我们项目中哪些地方用到了反射

3分钟搞懂Java反射 一、反射是什么 在Java中,反射(Reflection)是一种强大的工具,它允许程序在运行时获取和操作类、接口、构造器、方法和字段等。反射是Java语言的一个重要特性,它为开发人员提供了许多灵活性&#xf…

PHP探索校园新生态校园帮小程序系统小程序源码

探索校园新生态 —— 校园帮小程序系统,让生活更精彩! 🌱【开篇:走进未来校园,遇见新生态】🌱 你是否厌倦了传统校园的繁琐与单调?是否渴望在校园里也能享受到便捷、智能的生活体验&#xff1…

APS软件:生产计划排程的秩序守护者

生产计划制定 (1)APS排程是一种高度精细化的生产计划制定方法,它精准地计算出不同产品不同工序生产任务的起始、结束时间、每段工序加工时间内的生产数量以及产品的整个生产周期,同时全面考量设备性能、人员配置、物料供应等关键…

全球地图——为论文增色

✨全球地图是全球研究常用的结果表现形式,随着学科交叉,很多非地学(环境、化学、生物等)的顶刊也会运用到全球地图,为结果增色不少 ✨我总结了一些顶刊 (NSP,NG,NC)最新发布的相关图表✨ 这些图…

st7735调试记录

由于该模块陪我已经超过十年,最近想起来学习下lvgl,于是乎将其拿出来,尝试使能该模块从而学会lvgl 第一步肯定是找到资料确定下该模块是否好用。于是到网络上找到如下资料进行验证: https://pan.baidu.com/s/1CEunLuGUqLABR6I0UZ…

结构设计模式 -装饰器设计模式 - JAVA

装饰器设计模式 一. 介绍二. 代码示例2.1 抽象构件(Component)角色2.2 具体构件(Concrete Component)角色2.3 装饰(Decorator)角色2.4 具体装饰(Concrete Decorator)角色2.5 测试 结…

mysql 报 ERROR 1273: Unknown collation: ‘utf8mb4_0900_ai_ci‘ 的处理

1、数据库sql是mysql8的导出的,本机上安装的还是5.7的版本,然后导入sql,直接就报错。 2、mysql的下载地址: MySQL :: Download MySQL Community Server 3、报错截图: 4、重新选择一个collation就可以了,…

MoNA:复用跨模态预训练模型,少样本模态的福音 | ICML‘24

跨模态转移旨在利用大型预训练模型来完成可能不属于预训练数据模态的任务。现有的研究在将经典微调扩展到跨模态场景方面取得了一定的成功,但仍然缺乏对模态差距对转移的影响的理解。在这项工作中,进行了一系列关于转移过程中源表示质量的实验&#xff0…

最新视频号名字使用规范你了解了吗!

文章来源:视频号官方平台 视频号名字使用需遵循以下规范: 账号名字应当与简介的内容相符,且不得与已注册成功的账号名字重复。 账号超过180天未以视频号身份进行发表、评论等操作,将不再受到名字唯一保护,有其他用户申…

FPGA实现频率、幅度、相位可调的DDS以及DDS Compiler IP核的使用验证

文章目录 一、DDS介绍二、DDS原理2.1 频率计算2.2 相位改变2.3 波形切换 三、Matlab生成波形文件四、FPGA实现DDS4.1 Verilog代码4.2 仿真验证4.2.1 改变频率4.2.2 切换波形4.2.3 相位调节4.2.4 幅度调节 五、Xilinx DDS Compiler的使用5.1 功能框图5.1.1 相位累加器5.1.2 SIN/…