一、准备工作
在进行Java连接MySQL数据库之前,需要进行一些准备工作:
1、下载MySQL驱动包
可以到MySQL官网下载最新的MySQL Connector/J驱动包。下载完毕后,将其解压缩到本地磁盘中。
2、安装MySQL服务器
在安装服务器时,需要给服务器设置一个账号和密码。这个账号和密码将用于在Java程序中连接MySQL服务器。
3、创建数据库
在MySQL中,可以通过命令行或者其他MySQL查询工具创建数据库。在创建完毕后,需要记住数据库的名称。
二、连接MySQL数据库
在Java中连接MySQL数据库需要先加载MySQL驱动程序,然后根据数据库连接信息创建连接对象,并建立连接。以下是具体实现:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnectionExample {
public static void main(String[] args) {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "username", "password");
if(conn != null) {
System.out.println("Connected to the database");
}
} catch (SQLException ex) {
System.out.println("An error occurred while connecting MySQL database");
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
System.out.println("MySQL Driver not found");
ex.printStackTrace();
}
}
}
其中,conn = DriverManager.getConnection(url, user, password)
方法用于建立与MySQL数据库的连接,方法的三个参数分别表示连接URL、MySQL数据库连接用户名和密码。在连接MySQL数据库之前,需要先通过Class.forName()
方法注册MySQL驱动程序。
三、关闭连接对象
连接MySQL数据库后,需要关闭连接对象,以释放资源。以下是具体实现:
...
finally {
if(conn != null) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
...
在finally
模块中关闭连接对象,并释放资源。
四、执行SQL语句
连接MySQL数据库之后,可以通过Java程序执行SQL语句。以下是具体实现:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MySQLQueryExample {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "username", "password");
if(conn != null) {
System.out.println("Connected to the database");
}
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT employee_id, first_name, last_name FROM employees");
while (rs.next()) {
System.out.println(rs.getString("employee_id") + " " +
rs.getString("first_name") + " " + rs.getString("last_name"));
}
} catch (SQLException ex) {
System.out.println("An error occurred while connecting MySQL database");
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
System.out.println("MySQL Driver not found");
ex.printStackTrace();
} finally {
if(rs != null) {
try {
rs.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if(stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if(conn != null) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
}
在此处,通过stmt.executeQuery(sql)
方法执行查询SQL语句,并将查询结果存储在ResultSet
对象rs
中。使用rs.next()
方法遍历查询结果。在查询完毕后,需要关闭Statement
对象和ResultSet
对象,释放资源。
五、数据表处理
在MySQL数据库中,可以通过Java程序创建数据表,也可以对数据表进行增、删、改、查等操作。以下是一个简单的数据表处理程序:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class MySQLTableExample {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "username", "password");
if(conn != null) {
System.out.println("Connected to the database");
}
stmt = conn.createStatement();
String sql = "CREATE TABLE employees " +
"(id INTEGER not NULL, " +
" first_name VARCHAR(255), " +
" last_name VARCHAR(255), " +
" age INTEGER, " +
" PRIMARY KEY ( id ))";
stmt.executeUpdate(sql);
System.out.println("Table created successfully...");
} catch (SQLException ex) {
System.out.println("An error occurred while connecting MySQL database");
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
System.out.println("MySQL Driver not found");
ex.printStackTrace();
} finally {
if(stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if(conn != null) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
}
在此处,通过stmt.executeUpdate(sql)
方法创建数据表,并在数据表中定义了ID、Name、Age三个字段。执行完毕后,关闭Statement
对象和Connection
对象,释放资源。
六、小结
Java连接MySQL数据库需要先下载MySQL驱动包,安装MySQL服务器,并创建数据库。然后,通过Java程序实现连接MySQL数据库、执行SQL语句和数据表处理等操作。