【2023.11.23】JDBC基本连接语法学习➹

1.导入jar包依赖:mysql-connector-java-8.0.27.jar

2.连接数据库!

3.无法解析类->导入java.sql.*,(将项目方言改为Mysql)

JDBC,启动!!

public class Main {
    public static void main(String[] args) {
        //1. 通过DriverManager来获得数据库连接
        try (Connection connection = DriverManager.getConnection("连接URL","用户名","密码");
             //2. 创建一个用于执行SQL的Statement对象
             Statement statement = connection.createStatement()){   //注意前两步都放在try()中,因为在最后需要释放资源!
            //3. 执行SQL语句,并得到结果集
            ResultSet set = statement.executeQuery("select * from 表名");
            //4. 查看结果
            while (set.next()){

            }
        }catch (SQLException e){
            e.printStackTrace();
        }
//5. 释放资源,try-with-resource语法会自动帮助我们close

    }
}

1. 通过DriverManager来获得数据库连接
当方法getConnection被调用时,DriverManager将尝试从初始化时加载的驱动程序中找到合适的驱动程序,并创建Connection。

(由于Connection和Statement都需要执行close方法,使用try-with-resources的语法可以简化代码书写)

2. 创建一个用于执行SQL的Statement对象
创建connetion(数据库连接对象),用于向数据库发送SQL语句的Statement对象。没有参数的SQL语句通常使用Statement对象执行。如果同一SQL语句被多次执行,那么使用PreparedStatement对象可能会更高效。

(由于Connection和Statement都需要执行close方法,使用try-with-resources的语法可以简化代码书写)

3. 执行SQL语句,并得到结果集

select语句的查询结果存放在ResultSet对象里面。

使用JDBC查询实例:

import java.sql.Connection;
import java.sql.*;


public class Main {
    public static void main(String[] args) {
        //1. 通过DriverManager来获得数据库连接
        try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBCtest","root","66666");
             //2. 创建一个用于执行SQL的Statement对象
             Statement statement = connection.createStatement()){   //注意前两步都放在try()中,因为在最后需要释放资源!
            //3. 执行SQL语句,并得到结果集
            ResultSet set = statement.executeQuery("select * from users");
            //4. 查看结果
            while (set.next()){//若结果集链表存在下一个结果,则指针移动
                System.out.println(set.getInt(1)+set.getString(2)+set.getString(3));
                //按表的每一列输出结果:依次为ID\Name\PassWord
            }
        }catch (SQLException e){
            e.printStackTrace();
        }
//5. 释放资源,try-with-resource语法会自动帮助我们close

    }
}

将查询结果映射为对象

将数据库中数据转换为一个实体类来进行操作:

import java.sql.Connection;
import java.sql.*;

class Student {
    Integer sid;
    String name;
    String password;
    public Student(Integer sid, String name, String password) {
        this.sid = sid;
        this.name = name;
        this.password = password;
    }

    public void say(){
        System.out.println("我叫:"+name+",学号为:"+sid+",我的密码是:"+password);
    }
}

public class Main {
    public static void main(String[] args) {
        //1. 通过DriverManager来获得数据库连接
        try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/experiment4","root","123456");
             //2. 创建一个用于执行SQL的Statement对象
             Statement statement = connection.createStatement()){   //注意前两步都放在try()中,因为在最后需要释放资源!
            //3. 执行SQL语句,并得到结果集
            ResultSet set = statement.executeQuery("select * from users");
            //4. 查看结果
            while (set.next()){
                Student student = new Student(set.getInt(1), set.getString(2), set.getString(3));
                student.say();
            }

        }catch (SQLException e){
            e.printStackTrace();
        }
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

原生js实现form表单保存按钮触发后表单只读以及编辑按钮灰化,编辑按钮触发后表单是编辑状态以及保存按钮灰化

一、问题场景? 原生js实现form表单保存按钮触发后表单只读以及编辑按钮灰化,编辑按钮触发后表单是编辑状态以及保存按钮灰化 场景1:初始化进去的时候,编辑灰化,保存高亮,表单为编辑状态 场景2&#xff1a…

增量有余、后劲不足,星途汽车10月份销量环比下降3.9%

撰稿|行星 来源|贝多财经 近日,奇瑞集团发布了10月销量月报。报告显示,奇瑞集团于2023年10月销售汽车20.03万辆,同比增长50.8%,单月销量首次突破20万辆;2023年前10个月的累计销量为145.36辆,同比增长41.6…

利用STM32CubeMX解读时钟树

1,低速时钟 LSE是外部晶振作时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。LSI是由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及IWDG(独立看门…

揭开未来:塑造数字营销的尖端技术

介绍 对于企业来说,要想在瞬息万变的数字营销世界中取得成功,领先一步至关重要。技术正在以惊人的速度发展,开辟了新的机会,正在改变营销人员与消费者的互动方式。这篇文章的目的是重点介绍重新定义数字营销领域的十大创新技术。…

如何进行MySQL的主从复制(MySQL5.7)

背景:在一些Web服务器开发中,系统用户在进行数据访问时,基本都是直接操作数据库MySQL进行访问,而这种情况下,若只有一台MySQL服务器,可能会存在如下问题 数据的读和写的所有压力都会由一台数据库独…

Vim 一下日志文件,Java 进程没了?

一次端口告警,发现 java 进程被异常杀掉,而根因竟然是因为在问题机器上 vim 查看了 nginx 日志。下面我将从时间维度详细回顾这次排查,希望读者在遇到相似问题时有些许启发。 时间线 15:19 收到端口异常 odin 告警。 状态:P1故障 名称:应用端…

c语言-数组长度的计算(结构体数组,字符串数组)

数组的长度我们可以直接根据函数声明得到数组的长度,或者可以通过计算的方法如下: 数组长度sizeof(数组名)/sizeof(数组类型) 测试代码如下:测试int整形数组,char字符数组,字符串数组,结构体数组。 #includ…

案例012:Java+SSM+uniapp基于微信小程序的科创微应用平台设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

VR直播如何打破视角壁垒,提升观看体验?

随着数字技术的不断发展,直播行业也发生了新的变革,VR直播也成为了直播行业中新的趋势,那么VR直播是如何打破视角壁垒,提升观看体验的呢? 杭州亚运会那几天,多项比赛热火朝天,无论你是参赛队伍的…

安全地公网访问树莓派等设备的服务 内网穿透--frp 23年11月方法

如果想要树莓派可以被公网访问,可以选择直接网上搜内网穿透提供商,一个月大概10块钱,也有免费的,但是免费的速度就不要希望很好了。 也可以选择接下来介绍的frp,这种方式不需要付费,但是需要你有一台有着公…

力扣283:移动零(JAVA)

题目描述: 意思是将所有0移到最后的同时其余非0元素位置仍然不变 如 1 2 0 5 2 0 经过移动零后变为 1 2 5 2 0 0 思路:使用双指针的思路来写 fast:从左往右遍历数组 slow:非零元素最后的一个位置 将数组分为3个区间 [0,slow]为处理好的非0数据,slow永远指向最后一个非0数据 [s…

vue3自定义拖拽指令

<template><div v-move class"box"></div> </template><script setup lang"ts"> import { Directive } from vue const vMove:Directive (el:HTMLElement) >{const mousedown (e:MouseEvent) >{// 鼠标按下const s…

无线网络下VMWare+CentOS7使用桥接模式无法联通网络问题

因为最近新配了台带无线网卡的主机&#xff0c;所以准备把所有的内容都转移到新电脑上&#xff0c;其中就包括虚拟机 安装好VMWareCentOS7选择桥接模式 然后我们去修改一下网络配置 cd /etc/sysconfig/network-scripts/进入这个ifcfg-ens33文件 我们修改箭头所示内容&#xff…

刷题学习记录(含2023ISCTFweb题的部分知识点)

[SWPUCTF 2021 新生赛]sql 进入环境 查看源码&#xff0c;发现是get传参且参数为wllm fuzz测试&#xff0c;发现空格&#xff0c;&#xff0c;and被过滤了 同样的也可以用python脚本进行fuzz测试 import requests fuzz{length ,,handler,like,select,sleep,database,delete,h…

QtCreator9.02不支持JDK11解决

最终效果 使用Android Studio 下载Android SDK Platform 31与Sources for Android 31 下载Android SDK Build Tools 31.0.0 下载NDK 25.1 ,23.1 ,21.3 重要: 下载Android SDK Command-Line Tools ,选择10.0或者9.0其中一个版本 其它版本不支持JDK11 ,本例选择10.0 下载CMak…

<JavaEE> 什么是进程(Process)?进程管理,进程调度,内存管理,进程间通信和多进程编程

目录 一、进程&#xff08;Process&#xff09;的概念 二、进程管理 三、进程调度 四、内存管理 五、进程间通信 六、多进程编程 一、进程&#xff08;Process&#xff09;的概念 进程&#xff08;process&#xff09;也称为任务&#xff08;task&#xff09;&#xff0c…

鸿蒙开发环境搭建-deveco-studio 开发工具安装问题()

从华为官网下载工具deveco-studio, 下载地址 HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 这是下载后的工具 1、一步步安装步骤 报错了&#xff0c;一般安装都会报这个错误 看似问题不小&#xff0c;其实&#xff0c; 继续下步&#xff0c;就正常了&#xff0c…

一款专为POS机设计的芯片解决方案

一、基本概述 HCM8003设计用于磁条读卡器系统。它会从F/2F恢复时钟和数据信号磁产生的数据流头HCM8003将用于数据速率从200到15000比特每秒。 二、典型电路 内部数据的采集和跟踪这个范围是自动的。可以应用于POS机终端设备、磁卡门禁系统、身份识别等场合。 三、引脚定义 四…

vivado产生报告阅读分析18-设计收敛报告

设计收敛报告 Report QoR Assessment report_qor_assessment 命令会生成报告以提供下列信息 &#xff1a; • 评估得分 &#xff0c; 用于指示设计满足性能目标的概率 • 有关建议的后续步骤的流程指南 • 使用率和性能指标汇总信息 • 对于 QoR 至关重要的方法论检查汇…

技术前沿探索:人工智能与大数据融合的未来

技术前沿探索&#xff1a;人工智能与大数据融合的未来 摘要&#xff1a;本博客将探讨人工智能与大数据融合领域的最新技术趋势、前沿研究方向以及挑战与机遇。通过介绍相关技术和案例&#xff0c;我们希望激发读者对这一领域的兴趣&#xff0c;并为其职业发展提供有益参考。 一…