java连接mysql数据库实现增删查改

本文介绍了如何在Java中连接MySQL数据库,包括加载mysql-connector-java驱动,建立连接,以及执行增删查改操作。同时,文章提到了在插入中文数据时可能出现的乱码问题及其解决方案。
摘要由CSDN通过智能技术生成

工具

win7 (64位)
Navicat Premium(或者Navicat for MySql)
ubuntu 16.04
mysql 5.7.19
mysql连接驱动:mysql-connector-java-5.1.25.jar(网上很多,自己下载)

加载驱动

  1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件夹下,如下图所示:
    这里写图片描述
  2. 右键工程名,在properties中的Libraries分页中选择Add JARs…,选择刚才添加的JDBC,如下图:
    这里写图片描述

操作数据库

1.数据库准备

这里写图片描述
输入数据
这里写图片描述

2.连接数据库并读取数据

  数据库名称:test1
  数据包名称:table_test
  端口号:3306
  用户名:root
  密码:root
  虚拟机ip:192.168.179.128
3.代码
  • 主函数
package xuna;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Prep
下面是一个简单的 Java 程序,用于连接 MySQL 四六级数据库,并实现增删查改操作。 1. 导入相关包 首先需要导入 MySQL JDBC 驱动包,以及 Java SQL 包。 ```java import java.sql.*; ``` 2. 连接数据库 使用 `DriverManager` 类的 `getConnection()` 方法连接数据库,并返回一个 `Connection` 对象。 ```java String url = "jdbc:mysql://localhost:3306/cet46?useSSL=false&serverTimezone=UTC"; String user = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password); ``` 3. 添加数据 使用 `PreparedStatement` 类的 `executeUpdate()` 方法添加数据。 ```java String sql = "INSERT INTO cet46(name, score) VALUES (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "张三"); pstmt.setInt(2, 530); int result = pstmt.executeUpdate(); if (result > 0) { System.out.println("添加成功!"); } else { System.out.println("添加失败!"); } ``` 4. 删除数据 使用 `PreparedStatement` 类的 `executeUpdate()` 方法删除数据。 ```java String sql = "DELETE FROM cet46 WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 1); int result = pstmt.executeUpdate(); if (result > 0) { System.out.println("删除成功!"); } else { System.out.println("删除失败!"); } ``` 5. 修数据 使用 `PreparedStatement` 类的 `executeUpdate()` 方法修数据。 ```java String sql = "UPDATE cet46 SET score = ? WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 550); pstmt.setInt(2, 2); int result = pstmt.executeUpdate(); if (result > 0) { System.out.println("修成功!"); } else { System.out.println("修失败!"); } ``` 6. 查询数据 使用 `Statement` 类的 `executeQuery()` 方法查询数据,并将结果集封装到一个 `ResultSet` 对象中。 ```java String sql = "SELECT * FROM cet46"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int score = rs.getInt("score"); System.out.println(id + "\t" + name + "\t" + score); } ``` 7. 关闭连接 使用 `Connection` 对象的 `close()` 方法关闭连接。 ```java conn.close(); ``` 完整代码如下: ```java import java.sql.*; public class CET46 { public static void main(String[] args) throws SQLException { String url = "jdbc:mysql://localhost:3306/cet46?useSSL=false&serverTimezone=UTC"; String user = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password); // 添加数据 String sql = "INSERT INTO cet46(name, score) VALUES (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "张三"); pstmt.setInt(2, 530); int result = pstmt.executeUpdate(); if (result > 0) { System.out.println("添加成功!"); } else { System.out.println("添加失败!"); } // 删除数据 sql = "DELETE FROM cet46 WHERE id = ?"; pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 1); result = pstmt.executeUpdate(); if (result > 0) { System.out.println("删除成功!"); } else { System.out.println("删除失败!"); } // 修数据 sql = "UPDATE cet46 SET score = ? WHERE id = ?"; pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 550); pstmt.setInt(2, 2); result = pstmt.executeUpdate(); if (result > 0) { System.out.println("修成功!"); } else { System.out.println("修失败!"); } // 查询数据 sql = "SELECT * FROM cet46"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int score = rs.getInt("score"); System.out.println(id + "\t" + name + "\t" + score); } conn.close(); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值