Java作为一种高度灵活的编程语言,可以用于开发各种应用程序。其中连接数据库是很常见的场景,本文将详细介绍如何使用Java JDBC连接MySQL数据库。
一、准备工作
在开始编程之前,需要进行以下准备工作:
- 下载MySQL JDBC驱动,可以从MySQL官网下载,也可以使用Maven等依赖管理工具进行下载。
- 安装MySQL数据库并创建一个示例数据库,用于进行数据操作的演示。
- 确保Java开发环境已经搭建完成,可以使用Eclipse、IntelliJ IDEA等IDE进行开发。
二、建立连接
连接到MySQL数据库需要使用JDBC驱动程序,并对数据库进行身份验证,以下是连接到MySQL数据库的示例代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConnection { public static Connection getConnection() throws ClassNotFoundException, SQLException { String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "user"; String password = "password"; Connection conn = DriverManager.getConnection(url, username, password); return conn; } }
在上面的示例代码中,我们使用了MySQL的默认地址(localhost)和默认端口(3306),并且使用了一个名为mydatabase的示例数据库进行连接。同时需要提供连接到MySQL数据库的用户名和密码。
三、进行数据操作
1、创建表
以下是创建一个表的示例代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class CreateTable { public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DBConnection.getConnection(); Statement stmt = conn.createStatement(); String sql = "CREATE TABLE Employee " + "(id INT(11) not NULL AUTO_INCREMENT, " + " firstName VARCHAR(255), " + " lastName VARCHAR(255), " + " age INT(11), " + " PRIMARY KEY ( id ))"; stmt.executeUpdate(sql); stmt.close(); conn.close(); } }
在上面的示例代码中,我们通过CREATE TABLE语句在mydatabase数据库中创建了一个名为Employee的表,其中id、firstName、lastName和age都是表的列名,并且id为主键。
2、插入数据
以下是向Employee表中插入数据的示例代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class InsertData { public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DBConnection.getConnection(); Statement stmt = conn.createStatement(); String sql = "INSERT INTO Employee " + "(firstName, lastName, age) " + "VALUES ('张', '三', 24)"; stmt.executeUpdate(sql); stmt.close(); conn.close(); } }
在上面的示例代码中,我们通过INSERT INTO语句将一条数据添加到Employee表中,其中firstName、lastName和age为表中的列名,'张'、'三'和24为要添加的数据。
3、查询数据
以下是从Employee表中查询数据的示例代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SelectData { public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DBConnection.getConnection(); Statement stmt = conn.createStatement(); String sql = "SELECT id, firstName, lastName, age FROM Employee"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String firstName = rs.getString("firstName"); String lastName = rs.getString("lastName"); int age = rs.getInt("age"); System.out.println("id: " + id + ", firstName: " + firstName+ ", lastName: " + lastName + ", age: " + age); } rs.close(); stmt.close(); conn.close(); } }
在上面的示例代码中,我们使用SELECT语句从Employee表中查询数据,并将查询结果打印出来。
四、总结
本文详细介绍了如何使用Java JDBC连接MySQL数据库,并进行诸如创建表、插入数据、查询数据等操作。这些操作是在Java应用程序中使用MySQL数据库的基础,通过这些示例可以更好地理解和应用Java JDBC连接MySQL数据库。