利用jdbc对数据库进行增删改查

步骤/过程:

1,导入驱动包

2,加载驱动包

3,输入信息,进行数据库连接

4,创建        statement对象

5,执行sql语句

6,如果是查询操作,利用ResultSet处理数据,再回收resultset对象,回收statement对象,回收connnection对象。如果是删除,修改,添加,不需要ResultSet处理数据,直接回收statement对象,回收connnection对象。

在这个过程中用到的类

DriverManager驱动管理类注册驱动程序,创建连接对象
Connection连接类

建立数据库连接

Statementsql编辑器向数据库发送要执行的sql语句
ResultSet查询结果集执行查询操作时,对返回结果进行处理
package com.qcby.test;import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;public class Test {//用户信息和urlstatic final String url = "jdbc:mysql://localhost:3308/qcby";static final  String username="root";static final String password="root";public static void main(String[] ages) throws ClassNotFoundException, SQLException {String sql = "select * from student";search(sql);
//		String sql1= "INSERT INTO student(name,age,sex) VALUES(\"赵六\",24,\"女\")";
//		insert(sql1);}//利用jdbc进行查询public static void search(String sql) throws ClassNotFoundException, SQLException {//1,加载驱动 报错原因可能找不到//Class.forName("com.mysql.cj.jdbc.Dirver");Class.forName("com.mysql.jdbc.Driver");//2,驱动管理类调方法进行连接,创建管理类Connection connection= (Connection)DriverManager.getConnection(url,username,password);//3,创建执行sql对象Statement statement=(Statement)connection.createStatement();//4,执行sql语句executeQuery()应用在查询出,获得返回结果ResultSet resultSet=statement.executeQuery(sql);//5,resultSet处理数据while(resultSet.next()) {String id = resultSet.getString("id");String name = resultSet.getString("name");String sex = resultSet.getString("sex");String age = resultSet.getString("age");System.out.println("id:"+id+" 姓名:"+name+" 性别:"+sex+" 年龄:"+age);}//6,释放资源if(resultSet!=null) {resultSet.close();}if(statement!=null) {statement.close();}if(connection!=null) {connection.close();}}//利用jdbc进行插入public static void insert(String sql) throws ClassNotFoundException, SQLException {//1,加载驱动 报错原因可能找不到//Class.forName("com.mysql.cj.jdbc.Dirver");Class.forName("com.mysql.jdbc.Driver");//2,驱动管理类调方法进行连接,创建管理类Connection connection= (Connection)DriverManager.getConnection(url,username,password);//3,创建执行sql对象Statement statement=(Statement)connection.createStatement();//4,执行sql语句executeUpdate()应用插入statement.executeUpdate(sql);
//			//5,resultSet处理数据
//			while(resultSet.next()) {
//				String id = resultSet.getString("id");
//				String name = resultSet.getString("name");
//				String sex = resultSet.getString("sex");
//				String age = resultSet.getString("age");
//				System.out.println("id:"+id+" 姓名:"+name+" 性别:"+sex+" 年龄:"+age);
//			}//6,释放资源if(statement!=null) {statement.close();}if(connection!=null) {connection.close();}}//利用jdbc进行修改public static void update(String sql) throws ClassNotFoundException, SQLException {//1,加载驱动 报错原因可能找不到//Class.forName("com.mysql.cj.jdbc.Dirver");Class.forName("com.mysql.jdbc.Driver");//2,驱动管理类调方法进行连接,创建管理类Connection connection= (Connection)DriverManager.getConnection(url,username,password);//3,创建执行sql对象Statement statement=(Statement)connection.createStatement();//4,执行sql语句executeUpdate()应用插入statement.executeUpdate(sql);
//					//5,resultSet处理数据
//					while(resultSet.next()) {
//						String id = resultSet.getString("id");
//						String name = resultSet.getString("name");
//						String sex = resultSet.getString("sex");
//						String age = resultSet.getString("age");
//						System.out.println("id:"+id+" 姓名:"+name+" 性别:"+sex+" 年龄:"+age);
//					}//6,释放资源if(statement!=null) {statement.close();}if(connection!=null) {connection.close();}}//利用jdbc进行删除public static void delete(String sql) throws ClassNotFoundException, SQLException {//1,加载驱动 报错原因可能找不到//Class.forName("com.mysql.cj.jdbc.Dirver");Class.forName("com.mysql.jdbc.Driver");//2,驱动管理类调方法进行连接,创建管理类Connection connection= (Connection)DriverManager.getConnection(url,username,password);//3,创建执行sql对象Statement statement=(Statement)connection.createStatement();//4,执行sql语句executeUpdate()应用插入statement.executeUpdate(sql);
//					//5,resultSet处理数据
//					while(resultSet.next()) {
//						String id = resultSet.getString("id");
//						String name = resultSet.getString("name");
//						String sex = resultSet.getString("sex");
//						String age = resultSet.getString("age");
//						System.out.println("id:"+id+" 姓名:"+name+" 性别:"+sex+" 年龄:"+age);
//					}//6,释放资源if(statement!=null) {statement.close();}if(connection!=null) {connection.close();}}
}

 

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

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

相关文章

智能优化算法应用:基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鲸鱼算法4.实验参数设定5.算法结果6.参考文献7.MA…

Python-pdf工具自制(合并、拆分、删除)

pdf工具,之前写的合并工具有点麻烦,使用PyQt5库重写合并拆分和删除指定页面的程序 实现如图: 代码: import sysimport osfrom PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QFileDia…

unity 2d 入门 飞翔小鸟 Cinemachine 记录分数(十二)

1、创建文本 右键->create->ui->leagcy->text 2、设置字体 3、设置默认值和数字 4、当切换分辨率,分数不见问题 拖拽这里调整 调整到如下图 5、编写得分脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; …

Docker网络架构介绍

本文主要介绍了Docker容器的单机网络架构与集群网络架构,辅以演示,并简单介绍了网络管理中的命令。 前文: Docker的安装与简单操作命令-CSDN博客 docker网络原理介绍 与ovs类似,docker容器采用veth-pair linux bridge (虚拟交…

0007Java程序设计-ssm基于微信小程序的在线考试系统

文章目录 **摘要**目 录系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅🐧裙:776871563 摘要 网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理技术,基于微信小程序的在线考试…

Linux下apisix离线安装教程

Linux下apisix离线安装教程 一、首先需要安装etcd:二、通过rpm离线安装apisix三、启动apisix四、安装apisix-dashboard1、安装2、更改dashboard登录账号名和密码3、运行 一、首先需要安装etcd: 解压缩etcd后执行以下命令: tar -xvf etcd-v3.…

C#注册表技术及操作

目录 一、注册表基础 1.Registry和RegistryKey类 (1)Registry类 (2)RegistryKey类 二、在C#中操作注册表 1.读取注册表中的信息 (1)OpenSubKey()方法 (2)GetSubKeyNames()…

内外联动——记建行江门鹤山支行营业部堵截一起新型骗局

建设银行广东省江门市分行(以下简称“江门建行”)认真贯彻落实党中央、国务院决策部署,紧紧围绕当地市委工作部署和上级行要求,扛牢国有大行责任,坚守金融工作的政治性、人民性,以深化新金融行动助力江门全…

javascript实现List列表数据结构

书籍推荐 有幸拜读《数据结构与算法Javascript描述》这本书,先强烈安利一波!非常感谢作者大大给我们前端领域带来这本书。 全书从javascript的角度出发,简单明了的分析了数据结构在javascript领域的实现过程与实际的应用案例,且…

Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

报错: OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performan…

差异计算基础知识 - 了解期末业务操作、WIP 和差异

原文地址:Basics of variance calculation-Understanding Period End activities, WIP and Variances | SAP Blogs 大家好, 这是我在成本核算方面的第六份文件,旨在解释期末的差异计算和相关活动。 我将引导您完成期末活动和差异计算。在本文…

【性能测试】Jmeter 配置元件(一):计数器

Jmeter 配置元件(一):计数器 在 Jmeter 中,通过函数 ${__counter(,)} 可以实现每次加 1 1 1 的计数效果。但如果步长不为 1 1 1,则要利用到我们的计数器。 函数作用${__counter(,)}计数器,每次加 1${__d…

论文导读|10月MSOM文章精选:智慧医疗

编者按 在“10月MSOM文章精选:智慧医疗”中,我们有主题、有针对性地选择了MSOM期刊杂志中一些有关智慧医疗领域的有趣文章,不但对文章的内容进行了概括与点评,而且也对文章的结构进行了梳理,旨在激发广大读者的阅读兴趣…

c++--面向对象特性

1.面向对象指的是继承,封装,多态。 继承主要关注类的构造,赋值,析构。 以下对多态,封装进行补充说明。 2、多态 2.1.定义 a.赋值 派生类的指针,可以赋值给基类的指针。 派送类的对象,可以赋值给…

教师需要什么技能?

作为一名老师,需要掌握许多技能,以便能够成功地教育和指导学生。以下是一些关键技能: 1.教学技能:老师需要有深入的学科知识和教学经验,以便能够有效地传授知识。教师应该了解如何设计和执行教学计划,制定课…

【Java基础篇 | 面向对象】—— 聊聊什么是接口(下篇)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习JavaSE的一点学习心得,欢迎大家在评论区交流讨论💌 上篇(【Ja…

SpringBoot 自动装配原理详解

什么是 SpringBoot 自动装配? 我们现在提到自动装配的时候,一般会和 Spring Boot 联系在一起。但是,实际上 Spring Framework 早就实现了这个功能。Spring Boot 只是在其基础上,通过 SPI 的方式,做了进一步优化。 Spr…

解决npm install时报:gyp ERR! configure error

报错内容: npm ERR! gyp ERR! cwd C:\Users\zccbbg\code\my\examvue\node_modules\node-sass npm ERR! gyp ERR! node -v v16.13.1 npm ERR! gyp ERR! node-gyp -v v3.8.0 npm ERR! gyp ERR! not ok npm ERR! Build failed with error code: 1 解决办法:…

自行编写一个简单的shell!

本文旨在编写一个简单的shell外壳程序!功能类似于shell的一些基本操作!虽然不能全部实现shell的一些功能!但是通过此文章,自己写一个简单的shell程序也是不成问题!并且通过此文章,可以让读者对linux中一些环…

C#基础面试题集

C#基础 1. 简述值类型和引用类型有什么区别2. C# String类型比 stringBuilder 类型的优势是什么?3.面向对象的三大特点4.请简述private,public,protected,internal的区别5.结构体和类6.请描述Interface与抽象类之间的不同7.在类的构造函数前…