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 ...
26、机器学习模型的成员推断攻击与隐私保护 本文探讨了机器学习模型面临的成员推断攻击及其对隐私的潜在威胁。通过使用CIFAR-10数据集,详细介绍了如何利用影子模型和攻击模型推断特定数据点是否属于模型的训练集。实验表明,即使无法直接访问模型参数和原始数据,攻击者仍能以高于随机猜测的概率进行推断,从而构成隐私风险。此外,文章还分析了实验的关键技术点,并提出了多种隐私保护建议,包括数据脱敏、差分隐私、模型正则化等方法。 阅读详情

相关推荐

基于LangGraph的智能报告生成平台项目分析

不知道你是否知道或者了解OpenAI and Gemini Deep Research。他们是一种能够根据输入问题进行规划、结合网络搜索获取信息并最终呈现结果的研究工具或技术。那这样research是如何实现的呢?最近刚好看到一个实现类似功能的开源项目: open_deep_search。本文将基于该项目进行代码层面剖析。

u011160113的博客 923

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

一文看懂分布式存储架构

目录一、集中存储结构二、分布式存储1 、分布式存储的兴起2 、分布式存储的重要性3 、分布式存储的种类和比较三、分布式理论浅析1 、一致性和可用性2 、数据分布3 、复制4 、分布式协议5、跨机房部署四、分布式文件系统1、 Google 文件系统( GFS )2、 Taobao 文件系统( TFS )3、 Fackbook Haystack 文件系统4、 CDN 内容分发网络五、分布式键值系统1、 Amazon Dynamo2、 Taobao Tiar3、 ETCD4 、产品选型比较( Etcd , Zoo

weixin_70730532的博客 2万+

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

labview中DAQ采集多个数据通道(温度传感器)(TTL信号的曲轴位置传感器)总结

文章目录前言一、面对的问题篇二、问题解决篇三、后续工作总结 前言 我研一的项目利用labview软件和NI数据采集卡采集发动机传感器的信号然后进行采集,发动机传感器是有很多种的,所以难以避免的需要采集多个通道的传感器信号。 一、面对的问题篇 前篇已经写道我已经将温度传感器的信号采集出来,也可以将其数据进行信号处理,由电压信号转变为温度值。但是想要采集多个通道的信号,加上TTL信号的曲轴位置传感器,我模仿温度传感器采集的程序另加了一个DAQ助手进行采集。也就是如图所示的程序: 但是这个程序不能正常显

xiaobaiwsc的博客 1万+

(八)DDR_PHY架构及功能——(PUB组成、初始化及Training流程、Clock关系)

文章目录一、DDR_PHY结构组成1.1、DDR Memory子系统1.2、DDR_PHY架构组成1.3、PUB模块功能实现流程1.3.1、DDR系统初始化流程1.3.2、PLL初始化流程 一、DDR_PHY结构组成 1.1、DDR Memory子系统   Memory子系统主要由DDR Controller和DDR_PHY(含DDR_IO)两个部分组成。DDR Controller主要承担其它子系统(如CPU)与Memory子系统进行数据交互时的传输效率及调度,DDR_PHY主要负责数据交互过程中的传输速

Mr.翟的博客 1万+

Java连接mysql和SQLServer数据库

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

myblog 2856

【OpenClaw企业级智能体实战】第10篇:医疗行业OpenClaw实战:病历自动书写、医保智能审核与患者随访管理(附HIPAA合规配置+完整代码)

医疗行业正面临“效率提升需求”与“合规监管红线”的双重矛盾:病历书写占据医生30%-50%工作时间,医保审核效率低下,患者随访工作量巨大,但医疗数据“不出域”“责任不转移”的要求又限制了AI落地。本文基于华为云、腾讯云安全规范及中关村科金、复旦大学附属中山医院等真实实践,拆解OpenClaw在医疗场景的五大核心应用(病历自动书写、医保智能审核、患者随访管理、科研文献综述、医学影像预处理),提供私有化部署架构、HIPAA合规配置模板、完整实操流程及可直接运行的代码。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 439

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

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

weixin_32591455的博客 243

Pytorch入门实战(7):基于BERT实现文本隐喻二分类(Kaggle入门题目)

Bert入门实战,文本二分类问题

iioSnail的博客 4055

2022年全国职业院校技能大赛 高职组大数据技术与应用卷⑦——解析答案

大数据时代,电商经营模式发生很大改变。在传统运营模式中,缺乏数据积累,人们在做出一些决策行为过程中,更多是凭借个人经验和直觉,发展路径比较自我封闭。而大数据时代,为人们提供一种全新的思路,通过大量的数据分析得出的结果将更加现实和准确。商家可以对客户的消费行为信息数据进行收集和整理,比如消费者购买产品的花费、选择产品的渠道、偏好产品的类型、产品回购周期、购买产品的目的、消费者家庭背景、工作和生活环境、个人消费观和价值观等。通过数据追踪,知道顾客从哪儿来,是看了某网站投放的广告还是通过朋友推荐链接,是新访客还是

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 471

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

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

Java小白的博客 2990

ZYNQ Petalinux编译系统启动文件实战指南

本文提出的混合编译加速方案实测可将编译时间从45分钟缩短至18分钟,QSPI双启动方案已在工业控制领域成功应用。Xilinx官方UG1144文档(最新v2023.1版)正点原子《ZYNQ嵌入式开发实战》开源项目Meta-Petalinux(GitHub趋势项目)未来展望:随着Versal平台的普及,Petalinux将支持更多AI加速器原生驱动,值得持续关注。

QQ_778132974的博客 812

Java连接MySQL数据库步骤

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

Lyksxx的博客 6万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

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

2402_85428625的博客 1306

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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、付费专栏及课程。

余额充值