MySQL数据库是目前web开发中使用最广泛的一款关系型数据库,而Java作为一门流行的编程语言,其对于MySQL数据库的支持也非常强大,同时使用Java连接MySQL数据库也非常简单。本文将介绍如何使用Java连接MySQL数据库。
一、创建一个MySQL数据库
首先,我们需要创建一个MySQL数据库,确保我们的代码可以连接上MySQL数据库。具体操作如下:
CREATE DATABASE javadb; USE javadb; CREATE TABLE student( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, age INT NOT NULL, PRIMARY KEY ( id ) ); INSERT INTO student(name,age) VALUES('Jack',20);
以上代码创建了一个名为javadb的数据库,里面包含一个名为student的表格,并插入了一条数据。
二、导入MySQL驱动包
在Java中连接MySQL数据库需要导入MySQL驱动包,这里我们使用的是mysql-connector-java-8.0.15.jar,可以在官网上下载这个驱动包。
三、编写Java代码连接MySQL数据库
接下来,我们编写Java代码,连接MySQL数据库,并查询student表格中的数据。具体代码如下:
import java.sql.*; public class MySQLDemo { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/javadb"; String user = "root"; String password = "123456"; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); conn = DriverManager.getConnection(url, user, password); stmt = conn.createStatement(); String sql = "SELECT * FROM student"; rs = stmt.executeQuery(sql); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.print("ID: " + id); System.out.print(", Name: " + name); System.out.println(", Age: " + age); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if(rs!=null) rs.close(); } catch(SQLException e) { e.printStackTrace(); } try { if(stmt!=null) stmt.close(); } catch(SQLException e) { e.printStackTrace(); } try { if(conn!=null) conn.close(); } catch(SQLException e) { e.printStackTrace(); } } } }
以上代码连接了localhost上的javadb数据库,输出了student表格中的所有数据。
四、代码解释
现在,我们来看一下上面的代码是如何连接MySQL数据库的。
第1行至第7行连接了MySQL数据库,并声明了一些需要用到的变量。其中,url为连接MySQL数据库的URL,user和password分别为登录MySQL数据库的用户名和密码。
第9行至第28行为try-catch语句块,该代码块中使用了三个try代码块,分别在引用不同的异常。
第11行使用了Class.forName()方法来加载MySQL驱动包。通过调用DriverManager.getConnection()方法,使用之前声明的url、user和password变量来获取数据库连接。
第13行使用了Statement对象来执行SQL语句,并将结果存储在ResultSet对象中。
第15行使用了while循环来遍历ResultSet对象中的所有数据,通过rs.getInt、rs.getString和rs.getInt方法来获取每一行中的数据。
第17-19行使用System.out.println()方法来输出每一行数据中的id、name和age。
第30行至第44行为finally代码块,该代码块用来在代码执行完后关闭ResultSet对象、Statement对象和Connection对象,并处理抛出的异常。
五、总结
在Java中连接MySQL数据库非常简单,只需要导入MySQL驱动包,并使用Java代码来连接数据库和执行SQL语句即可。连接MySQL数据库是Java开发的基础知识,希望本文对读者有所帮助。