用IDEA从头创建一个jdbc项目修改数据库数据(mysql+navicat)
0. 参考文档
- [1] https://blog.csdn.net/PIKapikaaaa/article/details/124113065
- [2] https://blog.csdn.net/qq_36816794/article/details/141621264
JDBC是java访问数据库的基石,JDO, Hibernate等只是更好的封装了JDBC。
1、创建项目
IDEA新建一个空项目或者空module 选中 maven

2、安装 jdbc 驱动
在pom.xml中写入
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
</dependencies>
刷新maven,等待依赖下载完成。
3、编写代码
jdbc访问数据库步骤:
1. 加载 mysql 驱动 2. 获取连接对象 3. 创建命令对象 4. 编写sql命令 5. 执行sql命令 返回结果 6. 处理结果 7. 释放资源
JDBC API是⼀系列的接⼝,它统⼀和规范了应⽤程序与数据库的连接、执⾏SQL语句,并到得到返回结果等各类操作。声明在java.sql与javax.sql包中。
【谐音记忆:jdbc的创始人(DCSR)】
-
DriverManager类 管理不同的驱动
-
Connection 接⼝ 应⽤和数据库的连接
-
Statement 接⼝ ⽤于执⾏sql语句
-
ResultSet 接⼝ 保存查询的结果
如要访问的数据库是navicat,数据库名字是yssh,表名字是 jdbc_user


先设置参数如下:
// 0. 设置参数 String url = "jdbc:mysql://localhost:3306/yssh?serverTimezone=GMT%2B8"; String user = "root"; String password = "1234"; // 1. 加载 mysql 驱动 Class.forName("com.mysql.cj.jdbc.Driver");// 反射 System.out.println("加载 mysql驱动成功"); // 2. 获取连接对象 Connection connection = DriverManager.getConnection(url, user, password); System.out.println("获取连接对象成功"); // 3. 创建命令对象 Statement statement = connection.createStatement(); // 4. 编写sql命令 String sql = "select * from jdbc_user"; // 5. 执行sql命令 返回结果 if (connection == null) { System.out.println("判断连接对象:连接失败"); return; } System.out.println("判断连接对象:连接成功"); ResultSet resultSet = statement.executeQuery(sql); // 6. 处理返回的结果 while (resultSet.next()){ // ResultSet游标最初定位在第一行之前;对next方法的第一次调用使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。 Object id = resultSet.getObject(1); Object name = resultSet.getString(2); Object age = resultSet.getInt(3); Object grade = resultSet.getString(4); System.out.println("\33[0m" + id + " " + name + " " + age + " " + grade); } // 7. 关闭资源 resultSet.close(); statement.close(); connection.close();
点击运行,查询结果如下:

public static void main(String[] args) throws ClassNotFoundException, SQLException { // 0. 设置参数 String url = "jdbc:mysql://localhost:3306/yssh?serverTimezone=GMT%2B8"; String user = "root"; String password = "1234"; // 1. 加载 mysql 驱动 Class.forName("com.mysql.cj.jdbc.Driver");// 反射 System.out.println("加载 mysql 驱动成功"); // 2. 获取连接对象 Connection connection = DriverManager.getConnection(url, user, password); System.out.println("获取连接对象成功"); // 3. 创建命令对象 Statement statement = connection.createStatement(); insertUser(statement); queryUser(statement); // 7. 关闭资源 statement.close(); connection.close(); }
public static void insertUser(Statement statement) throws SQLException { // 4. 编写sql命令 String sql = "INSERT INTO `jdbc_user` ( `name`, `age`, `grade`) VALUES ( 'eva', '66', '68');"; // 5. 执行sql命令 返回结果 statement.executeUpdate(sql); }
运行结果如下:


public static void updateUser(Statement statement) throws SQLException { // 4. 编写sql命令 String sql = "UPDATE `jdbc_user` SET `age`='66', `grade`='66' WHERE (`name`='EVA');"; // 5. 执行sql命令 返回结果 statement.executeUpdate(sql); }
然后在main中调用,运行结果如下:


public static void delUser(Statement statement) throws SQLException { // 4. 编写sql命令 String sql = "DELETE FROM `jdbc_user` WHERE (`id`='7');"; // 5. 执行sql命令 返回结果 statement.executeUpdate(sql); }
然后在main中调用,运行结果如下:


package com.example; import java.sql.*; /** * jdbc访问数据库步骤: * // 1. 注册驱动(加载驱动) * // 2. 获取连接对象 * // 3. 创建命令对象 * // 4. 编写sql命令 * // 5. 执行sql命令 返回结果 * // 6. 处理结果 * // 7. 释放资源 */ public class Main { public static void main(String[] args) throws ClassNotFoundException, SQLException { // 0. 设置参数 String url = "jdbc:mysql://localhost:3306/yssh?serverTimezone=GMT%2B8"; String user = "root"; String password = "1234"; // 1. 加载 mysql 驱动 Class.forName("com.mysql.cj.jdbc.Driver");// 反射 System.out.println("加载 mysql 驱动成功"); // 2. 获取连接对象 Connection connection = DriverManager.getConnection(url, user, password); System.out.println("获取连接对象成功"); // 3. 创建命令对象 Statement statement = connection.createStatement(); // insertUser(statement); // updateUser(statement); delUser(statement); queryUser(statement); // 7. 关闭资源 statement.close(); connection.close(); } public static void queryUser(Statement statement) throws SQLException { // 4. 编写sql命令 String sql = "select * from jdbc_user"; // 5. 执行sql命令 返回结果 ResultSet resultSet = statement.executeQuery(sql); // 6. 处理返回的结果 while (resultSet.next()) { Object id = resultSet.getObject(1); Object name = resultSet.getString(2); Object age = resultSet.getInt(3); Object grade = resultSet.getString(4); System.out.println(" " + id + " " + name + " " + age + " " + grade); } // 7. 关闭资源 resultSet.close(); } public static void insertUser(Statement statement) throws SQLException { // 4. 编写sql命令 String sql = "INSERT INTO `jdbc_user` ( `name`, `age`, `grade`) VALUES ( 'eva', '66', '68');"; // 5. 执行sql命令 返回结果 statement.executeUpdate(sql); } public static void updateUser(Statement statement) throws SQLException { // 4. 编写sql命令 String sql = "UPDATE `jdbc_user` SET `age`='66', `grade`='66' WHERE (`name`='EVA');"; // 5. 执行sql命令 返回结果 statement.executeUpdate(sql); } public static void delUser(Statement statement) throws SQLException { // 4. 编写sql命令 String sql = "DELETE FROM `jdbc_user` WHERE (`id`='7');"; // 5. 执行sql命令 返回结果 statement.executeUpdate(sql); } }

浙公网安备 33010602011771号