Java连接MySQL数据库

在PHP中连接MySQL是最简单的,PHP的发行包里通常带有MySQL驱动模块,只要简单修改一下PHP配置文件就可以加载MySQL驱动,而且PHP提供了很多专用于操作MySQL数据库的函数,用起来的确很爽。在Java、Ruby和Perl中连接MySQL也是比较简单的,这些语言都提供了某种抽象接口用于管理数据库驱动,无论用哪家的数据库,程序代码都几乎一样。

本文简单总结了Java连接MySQL数据库的一些基础问题,包括JDBC概述、四类JDBC驱动、Connector/J的安装、JDBC API的使用等。使用的软件版本是JDK 1.6.0.2 和 MySQL 5.1。

一、JDBC概述

Java通过JDBC连接数据库,JDBC是Java Database Connectivity的缩写。JDBC属于Java核心API,它包含一组丰富的类和接口,支持ANSI SQL-92标准,为Java程序连接数据库提供了简单便捷的途径。

JDBC是一种与平台无关的设计,它能够管理不同的数据库驱动程序,并为用户程序提供统一的接口。当用户需要连接几个不同的数据库时,只需通知JDBC加载相应的驱动程序,而不需要修改任何访问数据库的代码。

基于JDBC的应用程序系统具有如下所示的结构:
Java Application <--->
JDBC API <--->
JDBC DriverManager <--->
JDBC Database Driver <--->
Database

使用JDBC可以简化如下三种编程任务:
1. 连接到数据源,比如一个数据库
2. 发送查询和更新到数据库
3. 检索并处理从数据库接收到了结果

一个典型的连接-查询-解析的过程如下所示:
Connection con = DriverManager.getConnection
( "jdbc:myDriver:wombat", "myLogin","myPassword");

Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}

这段代码建立一个DriverManager实例连接并登录数据库,一个Statement实例把SQL查询提交到数据库,一个ResultSet实例接收从数据库返回的查询结果,最后用一个简单的while循环从ResultSet中解析出感兴趣的数据。就是这么简单!

二、四类JDBC驱动程序

由于JDBC是独立于数据库实现的,而每个数据库实现均有自己的通信协议,因此JDBC驱动程序通常由数据库软件商和第三方软件商提供,也就是说在使用JDBC前,用户必须自己安装数据库驱动程序。

实际存在四种类型的JDBC驱动:

类型1:JDBC-ODBC Bridge。这类JDBC驱动实际上是通过ODBC访问数据库的,因此需要首先安装ODBC驱动,在程序运行时也要首先加载ODBC驱动。一般只用于系统开发和测试。

类型2:JDBC-Native API Bridge。同类型1一样,这类JDBC驱动也需要安装额外的Native驱动支持程序。

类型3:JDBC-Middleware。所谓的Middleware其实是一种代理,它全权负责数据库的管理和使用,因此本地计算机上不需要安装任何数据库驱动程序,只要确保应用程序可以和Middleware通信即可。这种结构模型多用于Java Applet和Client/Server环境中,所有访问数据库的任务都在Server端完成。

类型4:Pure JDBC Driver。此类驱动程序使用纯Java语言开发,能够直接连接数据库,通常是最好的选择。本文讲述的Java程序连接MySQL数据库的方法就是采用这种驱动程序。

三、安装Connector/J

MySQL官方发布的JDBC驱动程序称为MySQL Connector/J。这是一个JDBC-3.0“类型4”的驱动,它是纯Java开发的,实现了JDBC-3.0的全部要求,使用MySQL协议与MySQL服务器直接通信。

官方下载页面:http://dev.mysql.com/downloads/connector/j/5.1.html

Connector/J是以.zip或.tar.gz存档形式发布的,其中包括源代码、说明文档、以及编译好的二进制文件的JAR存档,.jar的名字就像"mysql-connector-java-[version]-bin-g.jar"。

Connector/J可以安装到任何位置,只需要把包含所有class的JAR加入系统环境变量CLASSPATH,就可以在Java程序中使用它了。

如果想在Tomcat、JBoss等服务器中使用Connector/J,安装前请参考相关文档。


四、在Java程序中连接MySQL

假设Connector/J已经安装好了,在Java程序中访问MySQL需要遵循以下步骤:

(1) 在程序的首部引入java.sql包,通常可以简单地将其全部引入:
import java.sql.*;

注意:不要引入com.mysql.jdbc.*,否则会出错!

(2) 使用Class.forName()方法加载Connector/J中的驱动类:
Class.forName("com.mysql.jdbc.Driver");

其中,com.mysql.jdbc.Driver类是对java.sql.Driver接口的实现,它就在Connector/J提供的 .jar 包里。

有的文章里要求这样:
Class.forName("com.mysql.jdbc.Driver").newInstance();

实际上这是没有必要的,调用Class.forName()自动创建一个驱动实例并把它注册到DriverManager,所以你不需要再创建一个驱动实例,如果你这么做了,就会创建一个多余的重复,但这也没有什么损害。

(3) 如果第二步没有抛出异常,表明加载Connector/J驱动程序成功,下面连接数据库:
Connection con = DriverManager.getConnection(conURL, user, password);

String conURL指明了要连接的数据库的URL,还可以在conURL中包含数据库名,用户名和密码等。

conURL一般遵循如下格式:jdbc:subprotocol://host.domain/database,对于Connector/J而言,subprotocal就是mysql。
例如访问本地计算机上的名为Company的数据库,conURL = "jdbc:mysql://localhost/Company";

(4) 如果一切正常,现在可以对数据库进行查询或修改了。

取得一个Statement实例(也只需要一个):
Statement s = con.createStatement();

可以使用Statement类的executeQuery、executeUpdate、execute方法向MySQL服务器提交SQL语句。
e.g.
ResultSet rs = s.executeQuery("SELECT * FROM Emplyee;");

ResultSet类保存了查询操作返回的表格。

(5) 释放资源,关闭Java程序到MySQL服务器的连接:
s.close();
con.close();

五、一个完整的例子

//----------------------------------------------------------
import java.sql.*;

public class test {
public static void main(int Argc, String[] Argv) {

String JDriver = "com.mysql.jdbc.Driver"; // MySQL提供的JDBC驱动,要保证它在CLASSPATH里可见

String conURL = "jdbc:mysql://localhost/Company"; // 本地计算机上的MySQL数据库Company的URL

try {
Class.forName(JDriver);
}
catch(ClassNotFoundException cnf_e) { // 如果找不到驱动类
System.out.println("Driver Not Found: " + cnf_e);
}

try {
Connection con = DriverManager.getConnection(conURL, "root", "123456"); // 连接数据库

Statement s = con.createStatement(); // Statement类用来提交SQL语句

ResultSet rs = s.executeQuery("select * from Employee;"); // 提交查询,返回的表格保存在rs中

while(rs.next()) { // ResultSet指针指向下一个“行”
System.out.println(rs.getInt("No") + // 获取员工号
"\t" + rs.getString("Name") + // 获取员工名字
"\t" + rs.getInt("Age")); // 获取员工年龄
}
s.close(); // 释放Statement对象
con.close(); // 关闭到MySQL服务器的连接
}
catch(SQLException sql_e) { // 都是SQLException
System.out.println(sql_e);
}
} // main()
}
//----------------------------------------------------------

六、进一步的问题

1 prefer DataSource rather than DriverManager
2 Using <CallableStatements> to Execute [Stored Procedures]
3 Transactions
4 Metadata
5 ...
视频编解码——视频编解码器工作原理 目录什么是视频编解码器为什么需要视屏编解码器视频编码器与数字视频容器时评编码器的历史 什么是视频编解码器 简单来说就是用于压缩或解压数字视频的软件或硬件 编码是信息从一种形式或格式转换为另一种形式的过程,解码是编码的反向。 适用于视频 编码是将视频、音频的原始格式的文件通过压缩技术转换成另一种格式(视频如h.264,h.265,m-jpeg等)。 解码是编码的反向过程。应用中,一般是将h.264,h.265格式数据解码成如YUV格式裸流交给显示器显示。 为什么需要视屏编解码器 需要在有限的带宽或存储空间 阅读详情

相关推荐

PCL1.12.1+VTK9.1+Qt5.14.2实战:解决QVTKOpenGLNativeWidget点云渲染窗口初始化报错问题

本文针对PCL1.12.1、VTK9.1与Qt5.14.2集成开发中,QVTKOpenGLNativeWidget点云渲染窗口初始化时出现的报错与黑屏问题,提供了深度分析与两种实战解决方案。核心在于理解VTK版本升级导致的渲染窗口类型不匹配,并指导开发者通过显式创建vtkGenericOpenGLRenderWindow或利用窗口ID嵌入,正确初始化并绑定可视化组件,从而稳定实现点云渲染。

weixin_29284657的博客 221

Java中MySql数据库的连接与使用

1 MySql的JAR包 1.MySql官网下载地址:https://dev.mysql.com/downloads/connector/j/ 选择无平台依赖版的ZIP格式 2.解压下载的ZIP压缩包 其中的jar文件即为所需要的MySql的JAR包,提供了连接MySql的方法。 2 将JAR添加到项目库 (使用IDEA为例) 将jar文件直接复制到工程下,右键选择jar文件——“添加到库”。 3 连接使用数据库 (最好在MySql中提前建立好数据库与表(也可用Java代码),此处已建立,仅使用Jav

qq_45005996的博客 787

哨兵一号数据snap预处理_利用SNAP软件进行Sentinel-1A卫星微波影像的预处理

利用SNAP软件对雷达影像进行预处理,主要包括热噪声去除、轨道文件校正、辐射定标、滤波校正、多普勒地形校正,最终获得入射角和后向散射信息。数据:本次实验所用数据为哨兵一号(Sentinel-1A)干涉宽幅模式(Interferometric Wideswath,IW)下经过多视处理和地距转换的GRD格式产品一般处理流程如下:0 SNAP软件安装软件安装:安装成功后打开SNAP后如图所示:1 数据...

weixin_30000407的博客 1万+

java连接mysql数据库的详细步骤

java连接mysql数据库的详细步骤 连接说明: a、mysql连接的驱动 b、mysql数据库的安装 c、eclipse e、数据库服务是否打开(控制面板——管理工具——服务——找到mysql对应服务) f、创建一个数据库 1、新建java项目 然后新建一个文件夹——libs(用来放各种外部包) 2、在包里面加入连接mysql数据库的包 这是下载连接: http://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.0.8.zip

一直在水些技术小文 3070

通达信-申万宏源金融终端本地数据转sqlite3,2、解析申万宏源C:/zd_swhy_gm/vipdoc/sh/lday的sh600000股票数据

为量化做准备,通达信-申万宏源金融终端本地数据转sqlite3,解析申万宏源C:/zd_swhy_gm/vipdoc/sh/lday的sh600000股票数据

wuyaqi的博客 509

告别GIS软件!用R语言ggplot2+ggmapcn绘制出版级世界地图(附5种投影对比图)

本文提供了一份完整的实践指南,教你如何利用R语言及其强大的ggplot2生态系统,结合ggmapcn包,绘制出出版级的世界地图。文章详细对比了五种经典地图投影(如摩尔维德、罗宾森投影)的代码实现与视觉差异,并讲解了如何添加比例尺、指北针等专业元素,最终导出高清PDF,实现从数据分析到专业可视化的全流程代码化操作,彻底告别传统GIS软件。

p5l2m9n4o6q的博客 407

Java连接mysql和SQLServer数据库

Java连接mysql和SQLServer数据库 原理:   一图胜千言,下图来自百度百科 Java项目连接mysql数据库的步骤   1、新建目标数据库 2、导入mysql数据库驱动jar包至项目 3、编写连接代码   第一步,新建数据库。 Mysql数据库的安装不详细介绍,网上有详细教程。这里使用命令方式加+数据库管理工具Navicat来创建和查询数据库。

myblog 2856

手把手教你YOLOv8/YOLOv11分割训练自己数据集和推理,并教你使用Labelme工具标注数据(附分割网络结构图)

YOLOv8-seg 和 YOLOv11-seg 都是一种高效实例分割算法,实例分割模型的输出是一组勾勒出图像中每个物体的遮罩或轮廓,以及每个物体的类标签和置信度分数。当你不仅需要知道物体在图像中的位置,还需要知道它们的具体形状时,实例分割就非常有用了,功能非常强大,可以应对各种视觉任务。 YOLOv11-seg 则在 YOLOv8-seg 基础上进一步魔改了模型架构,相对分割速度可能更快,其他指标性能有待测试。实例分割可以用于自动驾驶、医疗图像处理、智能农业监控等领域。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4475

sqlserver2005 和mysql_Java 连接MySQL数据库 和连接 SQLServer2005

一、Java 连接MySQL数据库 1、首先安装MySQL数据库环境(这里不做详细介绍) 参考:本人用的是集成PHPMySQLApach 的环境 ; 2、下载MySQL数据库驱动程序 3、加载驱动程序,必须将MySQL数据库的驱动程序配置到classpath中,现在假设MySQL数据库驱动程序保存在一、Java 连接MySQL数据库1、首先安装MySQL数据库环境(这里不做详细介绍) 参考:本人用...

weixin_32591455的博客 243

【声呐技术】基于人工智能的拖曳阵声呐声学数据处理系统 SEA公司AI辅助拖曳阵系统

KraitSense是SEA公司开发的紧凑型被动拖曳阵声呐系统,核心传感器为KraitArray细线拖曳阵列。该系统专为小型舰艇、无人水面艇(USV)和无人潜航器(UUV)设计,通过人工智能与机器学习技术实现水下声学数据的自动化采集、处理与分类。系统与Mind Foundry公司开发的软件平台深度集成,形成端到端的智能反潜战(ASW)解决方案。

u012133341的博客 957

学Simulink--基于多物理场耦合与系统集成的储能系统场景实例:压缩空气储能(CAES)系统的热力学建模与效率分析

本文提供了一个基于Simulink的压缩空气储能(CAES)系统热力学建模教程。通过多物理场耦合方法,详细演示了从系统架构设计到仿真测试的全过程,包括多级压缩机/膨胀机系统搭建、显热蓄热系统设计以及效率分析。文章重点强调了热管理对提升CAES效率的关键作用,并给出了68%电-电效率的优化案例。最后提出了变工况建模、不同蓄热介质对比等高级优化方向,为开发零碳大容量储能系统提供了实用工具和方法。

amy_mhd的博客 130

Java-JDBC建立数据库连接(MySQL)

注意:连接数据需要先在JAVA中导入mysql的jar包。

Java小白的博客 2990

【人工智能】拒绝焦虑,理性突围:AI 时代 Java 工程师的职业重构与进化指南

摘要:在AI技术快速发展的背景下,Java工程师面临职业转型挑战。本文通过MECE原则解构工作内容,划分高替代风险区(如CRUD开发)、高增效潜能区(如逻辑优化)和高核心壁垒区(如架构设计),指出AI对不同任务的影响程度。从劳动经济学视角分析行业将呈现K型分化,初级执行者被替代,而精通AI协作的全栈工程师需求增长。文章强调警惕过度依赖AI导致认知能力退化,并提出转型路径:掌握AI驱动开发(AIDD)、深耕领域驱动设计(DDD)、拓展全流程能力及AI原生应用开发。最终结论指出,未来的核心竞争力在于结合AI工具

奶爸的编程之路,也就一周冷个三天 133

Java连接MySQL数据库步骤

Java连接MySQL数据库步骤 声明,只推荐你看代码学会我的步骤,逻辑,还有用的所有方法 第一, ​ 安装mysql数据库配置(https://www.jianshu.com/p/ea4accd7afb4),安装还有配置教程,按照步骤来肯定没错,里面是win10的mysql解压版安装教程,设置账号密码是一定要注意 :账号一般为root,密码一般为 123456 ,如果你要更改的话一定要记住,因为...

Lyksxx的博客 6万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【Database Navigator 插件】idea 社区版连接 mysql 数据库

IDEA 数据库插件Database Navigator 插件是 IntelliJ IDEA 集成开发环境中的⼀个重要组件,它为开发者提供了⼀种⽅便快捷的数据库管理和开发⼯具。通过 Database Navigator 插件,开发者可以连接到各种类型的数据库,执⾏ SQL 查询和更新数据,以及通过可视化的⽅式设计和维护数据库表结构。

2402_85428625的博客 1306

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IDEA创建maven工程JDBC(Java Database Connectivity 【JAVA数据库连接】)连接MySQL数据库,为后面云医院项目的构建做铺垫。

首先创建一个maven工程 然后点击进入pom.xml文件,输入安装依赖。 完成之后,ctrl +shift +o安装包和依赖。 然后创建java工程,写一段连接数据库的代码,执行一下是否能够成功访问数据库数据。 正常的话创建maven工程的话,会默认出现test文件夹里面有默认的测试工程。 如果自己另外创建文件夹的话,会发现没有java的测试文件夹。 如下图所示: 那么想要用怎么办呢? 一下提供两种方法进行参考: 方法一: 回到原始自带的test文件夹下面创建java工程

weixin_53094331的博客 3126

使用java连接Mysql数据库 1

杭州驾校网 1、首先创建一个名为DB.properties(可自己取名)文件,新建目录如下截图: 文件内容如下: <span style="white-space:pre"> </span>driver=com.mysql.jdbc.Driver <span style="white-space:pre"> </span>url=j...

2890

Java——连接MySql数据库

eclipse项目文件结构 /JavaConnMySqlTest/src/db.properties jdbc.drivers=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/mydemo?serverTimezone=UTC jdbc.username=root jdbc.password=1234...

weixin_30629653的博客 115

【JAVA百炼成仙】JDBC连接MYSQL数据库

JDBC如何连接MYSQL数据库

5万+

【Java】Java连接Mysql数据库的demo示例

【Java】Java连接Mysql数据库的demo示例 1.安装mysql数据库 2.下载java-mysql-connector.jar包 3.完成java配置 4.写java代码运行测试 1.安装mysql数据库 这里不多重复,我主要讲解java连接mysql数据库并写代码运行,数据库请大家百度自己安装,网上教程也特别多。 最后Mysql完成到如下界面就ok。 2.下载java-mys...

十一月廿七风雨大作 1万+

Java连接mysql数据库的详细教程

面向新手,一步一步教你如何通过java连接mySql数据库

弹弹霹雳的博客 3693

java连接mysql数据库创建连接池

最近开始学习java链接mysql数据库,创建一个操作数据库的工具类Db 第一步初始化连接池 添加连接的操作方法 实现增删改查的功能 (统计页数的方法) public static Connection getConnection() ;//通过DataSource得到Connection public static void beginTransaction();//开启事务 public...

qq_45452172的博客 704

IDEA连接Mysql数据库(JAVA 小虚竹)

配置操作第二步操作第三步操作第四步操作解决方案:验证配置操作=================================================================第一步操作如图:选择右侧的database页签,一般在idea的右边会有Database界面,点击它即可。有时候我们会发现这个DataBase在右侧页签没有,要设置一下,才会出现,设置的方法如下:在这里可以打开View==>Tool Windows ==> Database如图所示:第二步操作如图所示:点击加号,可以添加

Y1567409的博客 1614

idea下mysql数据库的连接

idea下mysql数据库的连接 在view中打开databas 右边出现database窗口 点击+号DataSource 选择MySQL 填写安装mysql时设定的用户名和密码 后testConnection(第一次可能需要下载驱动,等待自动下载完成即可) testConnection通过后即可完成 在java代码中连接数据库 1.创建db.properties文件 填写数据库相关信息 如:(其中driver通用,url为上述添加数据库界面的url) driver = com.mysql.jd

weixin_43507271的博客 566
上一篇: java冒泡排序算法
下一篇: 观察者模式
轻鸿飘羽
博客等级 码龄16年 124粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值