JDBC操作MySQL数据

一准备、

1、首先在IDEA中导入导入包:mysql-connector-java-8.0.23

2、写初始化语句

(1)在目录下找到driver类

 (2)在JDBCUtil函数中把驱动器的类路径改掉

①打开driver类

②按住类名 Driver用快捷键 Ctrl+Alt+shift+C 复制类的路径粘贴到Class.forName用来搞定驱动器
④改动语句:JDBCUtil函数完整详见附录①
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://192.168.77.100:3306/mysql?characterEncoding=utf-8", "root", "123456");
⑤启动虚拟机和Navicat,并且建立连接

二、增删改查

改变SQL语句

其余不变:详见附录

表:

表结构: 

1、查:

① sql语句:

表中的日期型转成字符串型输出

SELECTsno,sname,sage,DATE_FORMAT( CREATEtime, '%Y-%m-%d  %H:%i:%s' ) CREATEtime 
FROMmy_student2;
 String sql="SELECT\n" +"\tsno,\n" +"\tsname,\n" +"\tsage,\n" +"\tDATE_FORMAT( CREATEtime, '%Y-%m-%d  %H:%i:%s' ) CREATEtime \n" +"FROM\n" +"\tmy_student2;";//sql保存的是查表语句reset=stat.executeQuery(sql);//执行查询并返回结果集resetwhile (reset.next()){int sno =reset.getInt("sno");String name =reset.getString("sname");int age =reset.getInt("sage");String createtime =reset.getString("CREATEtime");System.out.println(sno + "-" + name + "-" + age+"-"+createtime);}

完整代码详见附录② 

2、增

①时间字段的存值:

我们只需要传入yyyy-mm-dd hh:mi:ss的格式时间字符串即可,无需手动转换

sql语句:

INSERT into my_student2 VALUES(NULL,'张三','20','2024-07-19 15:40:23');

 

 String sql="INSERT into my_student2 VALUES(NULL,'周八','20','1997-01-15 14:40:23')";//sql保存的是查表语句int i=stat.executeUpdate(sql);//执行查询并返回结果集resetSystem.out.println(i);

 

 

 

 

 

附录:

①第一个JDBCUtil函数

import java.sql.*;
import java.util.*;public class JDBCUtill {static Connection conn;//全部定义成静态类型static Statement stat;static ResultSet rest;private  static void getSource() throws SQLException, ClassNotFoundException {Class.forName("com.mysql.cj.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://192.168.77.100:3306/mysql?characterEncoding=utf-8", "root", "123456");stat=conn.createStatement();}private static void closeSource() throws SQLException {if(rest !=null){rest.close();}if(stat !=null){stat.close();}if(conn !=null){conn.close();}}public static List<Map<String, Object>> queryBySQL(String sql) throws SQLException, ClassNotFoundException {List<Map<String, Object>> list = new ArrayList<>();getSource();rest = stat.executeQuery(sql);ResultSetMetaData rsmd = rest.getMetaData();int columnCount = rsmd.getColumnCount();while (rest.next()) {Map<String, Object> map = new HashMap<>();for (int i = 1; i <= columnCount ; i++) {String columnName = rsmd.getColumnName(i);Object columnValue = rest.getObject(i);map.put(columnName, columnValue);}list.add(map);}closeSource();
return list;}public static int updateBySql(String sql) throws SQLException, ClassNotFoundException {getSource();int res=0;res =stat.executeUpdate(sql);closeSource();return res;}
}

②查询 

import java.sql.*;
import java.util.List;
import java.util.Map;
public class Test1 {public static void main(String[] args) throws ClassNotFoundException, SQLException {Connection conn = null;//表示数据库的连接Statement stat= null;//用来操作SQL语句的操作ResultSet reset =null;//用来接收查询语句返回的结果集Class.forName("com.mysql.cj.jdbc.Driver");//加载oracle数据库的驱动类conn = DriverManager.getConnection("jdbc:mysql://192.168.77.100:3306/mysql?characterEncoding=utf-8", "root", "123456");//获取数据库的连接stat=conn.createStatement(); //获取statement对象String sql="SELECT\n" +"\tsno,\n" +"\tsname,\n" +"\tsage,\n" +"\tDATE_FORMAT( CREATEtime, '%Y-%m-%d  %H:%i:%s' ) CREATEtime \n" +"FROM\n" +"\tmy_student2;";//sql保存的是查表语句reset=stat.executeQuery(sql);//执行查询并返回结果集resetwhile (reset.next()){int sno =reset.getInt("sno");String name =reset.getString("sname");int age =reset.getInt("sage");String createtime =reset.getString("CREATEtime");System.out.println(sno + "-" + name + "-" + age+"-"+createtime);}if (reset != null) {reset.close();}if (stat != null) {stat.close();}if (conn != null) {conn.close();}}
}

 

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

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

相关文章

记录vivado自带IP iBert眼图近端回环

记录利用vivado自带IP核工具测试信号质量 ibert是测试眼图的工具&#xff0c;在使用的时候并不用改太多的内容&#xff0c;只需要注意参考时钟及所需要的引脚即可。由于条件的限制&#xff0c;并没有使用光纤和电缆进行连接进行外部回环&#xff0c;仅使用内部回环做测试&…

WEB前端08-综合案例(动态表格)

使用 HTML、CSS 和 JavaScript 创建动态表格 在本教程中&#xff0c;我们将创建一个动态表格&#xff0c;允许用户添加行、选择项目&#xff0c;并执行批量操作&#xff0c;如全选或删除选中的行。我们将通过 HTML、CSS 和 JavaScript 来实现这一功能。让我们逐步了解每个部分…

kubernetes集群部署elasticsearch集群,包含无认证和有认证模式

1、背景&#xff1a; 因公司业务需要&#xff0c;需要在测试、生产kubernetes集群中部署elasticsearch集群&#xff0c;因不同环境要求&#xff0c;需要部署不同模式的elasticsearch集群&#xff0c; 1、测试环境因安全性要求不高&#xff0c;是部署一套默认配置&#xff1b; 2…

【程序设计-底层设计-串口通信-底层交互-一些定义-嵌入式学习-自己思考(1)】

【程序设计-底层设计-串口通信-底层交互-一些定义-嵌入式学习-自己思考&#xff08;1&#xff09;】 1、概述2、环境说明3、学习部分-底层硬件1、当我们说&#xff1a;底层串口-TX&RT&#xff0c;我们在说什么&#xff08;1&#xff09;uart&#xff08;Universal Asynchro…

数学建模~~~SPSS相关和回归分析

目录 1.双变量相关分析 1.1理论基础 1.2简单散点图的绘制介绍 1.3相关性分析 1.4分析相关性结果 2.简单线性回归分析 2.1简单概括 2.2分析过程 2.3结果分析 3.曲线回归分析 3.1问题介绍 3.2分析过程 3.3结果分析 1.双变量相关分析 1.1理论基础 双变量相关分析并不…

HTML5-canvas1

1、canvas&#xff1a;创建画布 <canvas id"canvas"></canvas>2、画一条直线 var canvasdocument.getElementById(cancas&#xff09;; canvas.width800; canvas.height800; var contextcanvas.getContext(2d); //获得2d绘图上下文环境 //画一条直线 c…

码蹄集部分题目(2024OJ赛7.17-7.21;并查集+最小生成树+线段树+树状数组+DP)

1&#x1f40b;&#x1f40b;供水管线&#xff08;钻石&#xff1b;并查集最小生成树&#xff09; 时间限制&#xff1a;1秒 占用内存&#xff1a;128M &#x1f41f;题目思路 该题目就是最小生成树的问题。我们使用选边的方法&#xff0c;每次选取最小边加入&#xff0c;用…

Kettle 登录示例 POST请求

登录接口是post请求&#xff0c;组装Body为json字符串 var body "{\"username\":\""username"\",\"password\": \""password"\",\"code\":\""verification"\",\"uuid\…

小阿轩yx-高性能内存对象缓存

小阿轩yx-高性能内存对象缓存 案例分析 案例概述 Memcached 是一款开源的高性能分布式内存对象缓存系统用于很多网站提高访问速度&#xff0c;尤其是需要频繁访问数据的大型网站是典型的 C/S 架构&#xff0c;需要构建 Memcached 服务器端与 Memcached API 客户端用 C 语言…

【C++】内存管理的深度解析与实例

C内存管理的深度解析与实例 一、C内存管理的基本概念二、C内存分配方式1. 静态内存分配2. 动态内存分配 三、C内存管理的常见问题及解决策略1. 内存泄漏2. 堆内存碎片化3. 栈溢出 四、C内存管理的最佳实践1. 使用RAII&#xff08;Resource Acquisition Is Initialization&#…

【BUG】已解决:python setup.py bdist_wheel did not run successfully.

已解决&#xff1a;python setup.py bdist_wheel did not run successfully. 目录 已解决&#xff1a;python setup.py bdist_wheel did not run successfully. 【常见模块错误】 解决办法&#xff1a; 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主…

在Django项目中创建Django App

进入code虚拟环境 .\.venv\Scripts\activate创建demoapp python demo/manage.py startapp demoapp

Neuralink首款产品Telepathy:意念控制设备的革新与挑战

近年来&#xff0c;科技领域不断涌现出令人惊叹的突破&#xff0c;其中尤以脑机接口&#xff08;BCI&#xff09;技术为代表。近日&#xff0c;Elon Musk的Neuralink公司发布了其首款脑机接口产品Telepathy&#xff0c;引发了广泛关注。本文将详细探讨Telepathy的功能、技术原理…

PCIe总线-RK3588 PCIe平台驱动分析(十)

1.简介 RK3588 PCIe RC和EP使用同一个平台驱动&#xff0c;其主要的作用是解析设备树中的资源、初始化中断、使能电源、初始化PHY、使能时钟和释放复位&#xff0c;然后根据compatible属性初始化RC或者EP驱动。 2.入口 平台驱动的定义如下&#xff0c;当compatible属性为&qu…

C语言:静态库和动态(共享)库

相关阅读 C语言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm1001.2014.3001.5482 在软件开发中&#xff0c;库&#xff08;Library&#xff09;是一个至关重要的概念。它们是由函数和数据的集合构成&#xff0c;用于实现特定的功能&#xff0c;供其他程…

使用Vuepress搭建个人网站

网站地址&#xff1a;bloggo.chat

MySQL学习作业二

作业描述 SQL语言 建库&#xff0c;使用库 mysql> create database mydb8_worker;#新建库mysql> use mydb8_worker; 建表&#xff0c;查看表 #建表 mysql> create table t_worker(department_id int(11) not null comment部门号,worker_id int(11) primary key no…

无人机足球比赛技术详解

一、无人机类型参数 在无人机比赛中&#xff0c;不同类型的无人机因其独特的参数配置而表现出不同的性能。这些参数包括但不限于&#xff1a; 1. 机体尺寸&#xff1a;小型无人机适合室内或狭窄空间比赛&#xff0c;而大型无人机则更适用于室外大场地赛事。 2. 动力系统&…

动态路由协议 —— EIGRP 与 OSPF 的区别

EIGRP&#xff08;增强内部网关路由协议&#xff09;和 OSPF&#xff08;开放式最短路径优先&#xff09;是两种最常见的动态路由协议&#xff0c;主要是用来指定路由器或交换机之间如何通信。将其应用于不同的情况下&#xff0c;可提高速率、延迟等方面的性能。那么它们之间到…

IO多路复用-select的使用详解【C语言】

1.多进程/线程并发和IO多路复用的对比 IO多路转接也称为IO多路复用&#xff0c;它是一种网络通信的手段&#xff08;机制&#xff09;&#xff0c;通过这种方式可以同时监测多个文件描述符并且这个过程是阻塞的&#xff0c;一旦检测到有文件描述符就绪&#xff08; 可以读数据…