数据库技术-JDBC连接MySQL_MySQL
bitsCN.com
数据库技术-JDBC连接MySQL
摘 要:JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。
1、跨平台运行:这是继承了Java语言的“一次编译,到处运行”的特点;
2、不受数据库供应商的限制:巧妙在于JDBC设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。Sun提供了一个驱动管理器,数据库供应商——如MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的限制。
JDBC API可以作为连接Java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是JDBC的优、缺点。优点如下:
操作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数; 可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可; 通用性好:JDBC-ODBC桥接驱动器将JDBC函数换成ODBC; 面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。
缺点如下:
访问数据记录的速度受到一定程度的影响; 更改数据源困难:JDBC可支持多种数据库,各种数据库之间的操作必有不同,这就给更改数据源带来了很大的麻烦
关键字:JDBC 数据库 MySQL
数据库技术-JDBC连接MySQL
一、JDBC连接数据库的流程及其原理
1、在开发环境中加载指定数据库的驱动程序。
MySQL支持JDBC的驱动程序的是:mysql-connector-java-5.1.18-bin.jar)
2、在Java程序中加载驱动程序。在Java程序中,
Class.forName(“指定数据库的驱动程序”)
Class.forName(“com.mysql.jdbc.Driver”)
3、创建数据连接对象
Connection connection = DriverManager.getConnection(“连接数据库的URL", "用户名","密码”)。URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。
Connection connect =
DriverManager.geiConnection(“jdbc:mysql://localhost:3306/DatabaseName","root","123" )
4、创建Statement对象
Statement 类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。
Statement statament =connection.createStatement();
Statement statamentMySQL =connectMySQL.createStatement();
5、调用Statement对象的相关方法执行相对应的 SQL 语句
statement.excuteUpdate( "INSERTINTO table (name, age, sex,address, depart, worklen,wage)" + "VALUES ('Tom1', 321, 'M', 'china','Personnel','3','3000' ) ") ;
通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:
ResultSet resultSel =statement.executeQuery( "select * from table" );
6、关闭数据库连接:
Connection的close() 方法及时关闭数据连接。
finally { try { if (rs !=null) { rs.close(); } if (stmt !=null) { stmt.close(); } if (conn!=null) { conn.close(); } } catch (Exception e2) { System.out.println(e2.toString()); } }
二、演示
首先,MySQL数据库的准备
1、 我们需要知道MySQL的url user password
§ 注:查看方式:mysql> show variables
§
§ 或者通过其他MySQL辅助软件一目了然的看到本机MySQL的配置,我这里使用的是mysql workbench
§
§
§ 查看到我的
§ ipurl:localhost3308
§ user:root
§ password :123
§ 关于url 的localhost为数据库所在地址ip,本机mysql同样也在局域网中192.168.1.115 地址(也就是本机ip)
§ 查看方法:cmd->ipconfig
§
2、 打开MySQL建立一个数据库,进行jdbc连接的准备
§ 说明下我们的jdbc connection需要连接到某地址的某数据库
§ 格式参考Connection connect =
DriverManager.geiConnection(“jdbc:mysql://localhost:3306/DatabaseName","root" ,"123")
接下来建立数据库吧,
使用MySQL建立:
我建了个名叫zoo的数据库接下来可以进行java jdbc连接了。
1. 首先是倒入mysql的 jdbc驱动jar,
a) 工程下建立lib文件夹,放入mysql-connector-java的jar
b)
c) Add jars加入jar
d)
代码编写
package myjdbc;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; public class Connn { public static void main(String[] args) throws SQLException { String user = "root"; String password = "123"; String url = "jdbc:mysql://localhost:3308/zoo"; String url2 = "jdbc:mysql://192.168.1.115:3308/zoo"; String url3 = "jdbc:mysql://localhost:3308/zoo?user=root&password=123&useUnicode=true&characterEncoding=8859_1"; String driver = "com.mysql.jdbc.Driver"; String tableName = "animal"; String sqlstr = "insert into animal (id,name,year) value("+5+","+"aiii"+","+33+");"; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName(driver); conn = DriverManager.getConnection(url3, "root", "123"); stmt = conn.createStatement(); System.out.println("数据库连接成功!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动不存在!"); System.out.println(e.toString()); } catch (SQLException e) { System.out.println("SQL错误"); System.out.println(e.toString()); } finally { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (Exception e2) { System.out.println(e2.toString()); } } } }
连接成功!
三、总结
Jdbc 连接数据库不复杂,连接的模式已定义的很清晰,按照
Class.forName(“com.mysql.jdbc.Driver”) ->
DriverManager.getConnection ->
CreateStatement ->
rs进行操作
的方式就可以顺利进行。
注意容易出错的地方: DriverManager.getConnection 后面的写法比较多
1. String url = "jdbc:mysql://localhost:3308/zoo";
2. String url2 = "jdbc:mysql://192.168.1.115:3308/zoo";
3. String url3 = "jdbc:mysql://localhost:3308/zoo?user=root&password=123&useUnicode=true&characterEncoding=8859_1";
这几种都可以,主要是端口不要错,一般没有问题!
提供点帮助文件吧:
mysql-essential-5.6.0 下载地址 http://download.csdn.net/detail/zhangty0223/6811589
提供一个学习资料:
mysql从零开始学part1: http://download.csdn.net/detail/zhangty0223/6811667
mysql从零开始学part2: http://download.csdn.net/detail/zhangty0223/6811695
java jdbc mysql 驱动:http://download.csdn.net/detail/zhangty0223/6819387
整个工程源码:http://download.csdn.net/detail/zhangty0223/6819457
谢谢!
2014.1.7
以上就是数据库技术-JDBC连接MySQL_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Fähigkeiten zur Verarbeitung von Big-Data-Strukturen: Chunking: Teilen Sie den Datensatz auf und verarbeiten Sie ihn in Blöcken, um den Speicherverbrauch zu reduzieren. Generator: Generieren Sie Datenelemente einzeln, ohne den gesamten Datensatz zu laden, geeignet für unbegrenzte Datensätze. Streaming: Lesen Sie Dateien oder fragen Sie Ergebnisse Zeile für Zeile ab, geeignet für große Dateien oder Remote-Daten. Externer Speicher: Speichern Sie die Daten bei sehr großen Datensätzen in einer Datenbank oder NoSQL.

Das Sichern und Wiederherstellen einer MySQL-Datenbank in PHP kann durch Befolgen dieser Schritte erreicht werden: Sichern Sie die Datenbank: Verwenden Sie den Befehl mysqldump, um die Datenbank in eine SQL-Datei zu sichern. Datenbank wiederherstellen: Verwenden Sie den Befehl mysql, um die Datenbank aus SQL-Dateien wiederherzustellen.

Die MySQL-Abfrageleistung kann durch die Erstellung von Indizes optimiert werden, die die Suchzeit von linearer Komplexität auf logarithmische Komplexität reduzieren. Verwenden Sie PreparedStatements, um SQL-Injection zu verhindern und die Abfrageleistung zu verbessern. Begrenzen Sie die Abfrageergebnisse und reduzieren Sie die vom Server verarbeitete Datenmenge. Optimieren Sie Join-Abfragen, einschließlich der Verwendung geeigneter Join-Typen, der Erstellung von Indizes und der Berücksichtigung der Verwendung von Unterabfragen. Analysieren Sie Abfragen, um Engpässe zu identifizieren. Verwenden Sie Caching, um die Datenbanklast zu reduzieren. Optimieren Sie den PHP-Code, um den Overhead zu minimieren.

Wie füge ich Daten in eine MySQL-Tabelle ein? Mit der Datenbank verbinden: Stellen Sie mit mysqli eine Verbindung zur Datenbank her. Bereiten Sie die SQL-Abfrage vor: Schreiben Sie eine INSERT-Anweisung, um die einzufügenden Spalten und Werte anzugeben. Abfrage ausführen: Verwenden Sie die Methode query(), um die Einfügungsabfrage auszuführen. Bei Erfolg wird eine Bestätigungsmeldung ausgegeben.

Das Erstellen einer MySQL-Tabelle mit PHP erfordert die folgenden Schritte: Stellen Sie eine Verbindung zur Datenbank her. Erstellen Sie die Datenbank, falls sie nicht vorhanden ist. Wählen Sie eine Datenbank aus. Tabelle erstellen. Führen Sie die Abfrage aus. Schließen Sie die Verbindung.

So verwenden Sie gespeicherte MySQL-Prozeduren in PHP: Verwenden Sie PDO oder die MySQLi-Erweiterung, um eine Verbindung zu einer MySQL-Datenbank herzustellen. Bereiten Sie die Anweisung zum Aufrufen der gespeicherten Prozedur vor. Führen Sie die gespeicherte Prozedur aus. Verarbeiten Sie die Ergebnismenge (wenn die gespeicherte Prozedur Ergebnisse zurückgibt). Schließen Sie die Datenbankverbindung.

Eine der wichtigsten Änderungen, die in MySQL 8.4 (der neuesten LTS-Version von 2024) eingeführt wurden, besteht darin, dass das Plugin „MySQL Native Password“ nicht mehr standardmäßig aktiviert ist. Darüber hinaus entfernt MySQL 9.0 dieses Plugin vollständig. Diese Änderung betrifft PHP und andere Apps

Oracle-Datenbank und MySQL sind beide Datenbanken, die auf dem relationalen Modell basieren, aber Oracle ist in Bezug auf Kompatibilität, Skalierbarkeit, Datentypen und Sicherheit überlegen, während MySQL auf Geschwindigkeit und Flexibilität setzt und eher für kleine bis mittlere Datensätze geeignet ist. ① Oracle bietet eine breite Palette von Datentypen, ② bietet erweiterte Sicherheitsfunktionen, ③ ist für Anwendungen auf Unternehmensebene geeignet; ① MySQL unterstützt NoSQL-Datentypen, ② verfügt über weniger Sicherheitsmaßnahmen und ③ ist für kleine bis mittlere Anwendungen geeignet.
