快速开始使用JDBC连接Mysql数据库之简单CRUD.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
下载对应mysql驱动包 这里我创建maven项目基于maven下载 <!--mysql 驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> <!----> 在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一套标准API。本教程将指导你如何快速开始使用JDBC连接MySQL数据库并进行简单的CRUD(Create, Read, Update, Delete)操作。 我们需要在项目中引入MySQL的JDBC驱动。在Maven项目中,你可以通过在`pom.xml`文件中添加以下依赖来获取最新的MySQL Connector/J驱动: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> ``` 添加依赖后,你可以使用JDBC API来连接MySQL数据库。以下是一个示例的`getConnection()`方法,它会建立到MySQL服务器的连接: ```java public Connection getConnection() { // MySQL连接URL String url = "jdbc:mysql://localhost:3306/kenx_test?characterEncoding=utf-8"; // 数据库用户名 String userName = "root"; // 数据库密码 String passWord = "root"; try { // 注册新的数据库驱动(MySQL 8.0及以上版本) Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, userName, passWord); System.out.println("数据库连接成功"); return conn; } catch (Exception e) { e.printStackTrace(); return null; } } ``` 这里的URL参数包括了数据库的地址、端口、数据库名以及字符编码。 接下来,我们可以进行数据的CRUD操作。以下是一个插入(Insert)操作的示例: ```java public int ins() { Connection connection = null; Statement statement = null; String sql = ""; try { // 获取数据库连接 connection = getConnection(); // 创建Statement对象以执行SQL语句 statement = connection.createStatement(); // 构建插入数据的SQL语句 String id = String.valueOf(System.currentTimeMillis()); Timestamp now = Timestamp.valueOf(LocalDateTime.now()); sql = "INSERT INTO user (id, name, age, email, manager_id, create_time) VALUES (" + id + ", 'kenx', 24, '17521197955@163.com', 155065178165505, '" + now + "')"; System.out.println("执行SQL:" + sql); // 执行SQL,返回影响的行数 int success = statement.executeUpdate(sql); return success; } catch (Exception e) { e.printStackTrace(); return -1; } finally { // 关闭资源,防止资源泄露 if (statement != null) { try { statement.close(); } catch (SQLException ex) { ex.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException ex) { ex.printStackTrace(); } } } } ``` 这个`ins()`方法创建了一个SQL插入语句,然后通过`executeUpdate()`方法执行它,返回值表示受影响的行数。 其他CRUD操作,如查询(Read)、更新(Update)和删除(Delete),也可以类似的方式实现。查询操作通常使用`PreparedStatement`和`ResultSet`,更新和删除操作与插入类似,只需更改SQL语句的内容。 查询操作示例: ```java public ResultSet getUsers() { Connection connection = null; PreparedStatement pstmt = null; ResultSet rs = null; try { connection = getConnection(); String sql = "SELECT * FROM user"; pstmt = connection.prepareStatement(sql); rs = pstmt.executeQuery(); return rs; } catch (Exception e) { e.printStackTrace(); return null; } finally { // 关闭资源 if (rs != null) { try { rs.close(); } catch (SQLException ex) { ex.printStackTrace(); } } if (pstmt != null) { try { pstmt.close(); } catch (SQLException ex) { ex.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException ex) { ex.printStackTrace(); } } } } ``` 在这个例子中,我们创建一个`PreparedStatement`来执行SQL查询,然后返回`ResultSet`,你可以遍历这个结果集来获取查询的数据。 更新操作示例: ```java public int update(String id, String newName) { Connection connection = null; PreparedStatement pstmt = null; try { connection = getConnection(); String sql = "UPDATE user SET name = ? WHERE id = ?"; pstmt = connection.prepareStatement(sql); pstmt.setString(1, newName); pstmt.setString(2, id); int success = pstmt.executeUpdate(); return success; } catch (Exception e) { e.printStackTrace(); return -1; } finally { // 关闭资源 if (pstmt != null) { try { pstmt.close(); } catch (SQLException ex) { ex.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException ex) { ex.printStackTrace(); } } } } ``` 删除操作示例: ```java public int delete(String id) { Connection connection = null; PreparedStatement pstmt = null; try { connection = getConnection(); String sql = "DELETE FROM user WHERE id = ?"; pstmt = connection.prepareStatement(sql); pstmt.setString(1, id); int success = pstmt.executeUpdate(); return success; } catch (Exception e) { e.printStackTrace(); return -1; } finally { // 关闭资源 if (pstmt != null) { try { pstmt.close(); } catch (SQLException ex) { ex.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException ex) { ex.printStackTrace(); } } } } ``` 以上就是使用JDBC连接MySQL数据库进行CRUD操作的基本步骤。在实际开发中,为了提高性能和安全性,建议使用连接池管理数据库连接,并使用预编译的`PreparedStatement`来避免SQL注入问题。同时,应确保在操作完成后正确关闭数据库资源,以避免资源泄露。
剩余6页未读,继续阅读
- 粉丝: 251
- 资源: 1940
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助