Java——JDBC连接数据库,并进行数据的增删改查

上一篇博文中,向大家介绍了Java——JDBC连接数据库,那么,现在,我们再来谈谈通过JDBC连接数据库之后,对数据的增删改查操作!!!

1. 数据的查询(SELECT)

import java.sql.*;
public class JDBC {
	public static void main(String[] args) {
		String driver="com.mysql.cj.jdbc.Driver";//数据库驱动类所对应的字符串
		String URL="jdbc:mysql://localhost:3306/school?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";		
		//URL语法格式如下
		//jdbc:mysql:是固定的写法,后面跟主机名localhost,3306是默认的MySQL端口号
		//serverTimezone=UTC是指定时区时间为世界统一时间
		//useUnicode=true是指是否使用Unicode字符集,赋值为true
		//characterEncoding=utf-8是指定字符编码格式为UTF8
		try {
			Class.forName(driver);//加载MySQL数据库驱动		
		}catch(ClassNotFoundException e) {//如果找不到这个类,执行下面的异常处理
			e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因
		}
		try {
			Connection conn=DriverManager.getConnection(URL,"root","123123");
			//Connection接口代表Java程序和数据库的连接对象,只有获得该连接对象后,才能访问数据库,并操作数据表
			//DriverManager.getConnection()方法是建立和数据库的连接,并返回表示连接的Connection对象
			Statement state=conn.createStatement();
			//Statement是Java执行数据库操作的一个重要接口,它用于执行静态的SQL语句,并返回一个结果对象
			//Statement接口对象可以通过Connection实例对象的createStatement()方法获得,然后返回数据库的处理结果
			String sql="SELECT stu_name FROM student WHERE stu_sex='女'";		
			ResultSet rs=state.executeQuery(sql);
			//ResultSet接口用于保存JDBC执行查询时返回的结果集,该结果集封装在一个逻辑表格中
			//execute(String sql)用于执行任意的SQL语句
			//executeQuery(String sql)用于执行查询语句,返回ResultSet结果集对象
			//executeUpdate(String sql)主要用于执行DML(数据操作语言)和DDL(数据定义语言)语句
			/*在ResultSet接口内部有一个指向表格数据行的游标(或指针),ResultSet对象初始化时,游标在表格的第一行之前,
			    调用next()方法可将游标移动到下一行。如果下一行没有数据,则返回false
			    在程序中经常使用next()方法作为while循环的条件来迭代ResultSet结果集*/
			while(rs.next()) {			
				System.out.println(rs.getString(1));//用于获取指定字段的String类型的值,参数1代表字段的索引		
			}//字段的索引是从1开始编号的,这个和数组有所不同
			//每次操作数据库结束后都要关闭数据库连接,释放资源,以重复利用资源
			//通常资源的关闭顺序与打开顺序相反,具体的关闭顺序如下:
			rs.close();
			state.close();
			conn.close();
		}catch(SQLException e) {//处理数据库异常
			e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因
		}
	}
}

在这里,我为大家详细的总结了JDBC连接数据库之后,进行数据的查询的代码注释,内容非常详细,如果你想搞懂JDBC连接数据库的一些简单的增删改查操作,一定要认真看上面代码块中的注释,下面的 UPDATE、INSERT、DELETE 和SELECT中的注释都是类似的,没什么区别,就不再给出注解了,精华内容全在以上代码注释中!!!👆👆👆

运行结果如下: 

还有一点要说明的是:在 SELECT 模块中,我使用了 try---catch 语句来捕获并且处理异常,如果你觉得麻烦,可以不这样写,直接按照下面三块代码中的 throws Exception 将异常抛出就可以了,有些人可能会发现,你在 SELECT 中处理的不是ClassNotFoundException 和 SQLException 这两个异常吗?为什么抛出异常的时候变成了 Exception,答案其实很简单,Java 中的异常 Exception 其实是一个类,而 ClassNotFoundException 和 SQLException 这两个异常就是 Exception 类的子类,所以抛出了父类,自然就抛出了子类呀!!!

2. 数据的删除(DELETE)

import java.sql.*;
public class JDBC {
	public static void main(String[] args) throws Exception {
		String driver="com.mysql.cj.jdbc.Driver";
		String URL="jdbc:mysql://localhost:3306/school?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";
		Class.forName(driver);
		Connection conn=DriverManager.getConnection(URL,"root","123123");
		Statement state=conn.createStatement();
		String sql="DELETE FROM score WHERE stu_id='201805050102'";
		state.executeUpdate(sql);
		state.close();
		conn.close();
	}
}

在这里,我们将score表中,学号为“201805050102”号学生的成绩全部删除。

3. 数据的更新(UPDATE)

import java.sql.*;
public class JDBC {
	public static void main(String[] args) throws Exception {
		String driver="com.mysql.cj.jdbc.Driver";
		String URL="jdbc:mysql://localhost:3306/school?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";
		Class.forName(driver);
		Connection conn=DriverManager.getConnection(URL,"root","123123");
		Statement state=conn.createStatement();
		String sql="UPDATE student SET stu_age=20 WHERE stu_sex='女'";
		state.executeUpdate(sql);
		state.close();
		conn.close();
	}
}

在这里,我们将student表中,性别为“女”的学生的年龄全部修改为20。

4. 数据的插入(INSERT)

import java.sql.*;
public class JDBC {
	public static void main(String[] args) throws Exception {
		String driver="com.mysql.cj.jdbc.Driver";
		String URL="jdbc:mysql://localhost:3306/school?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";
		Class.forName(driver);
		Connection conn=DriverManager.getConnection(URL,"root","123123");
		Statement state=conn.createStatement();
		String sql="INSERT INTO student VALUES('201805050232','张三','男',20,'软工','信工学院')";
		state.executeUpdate(sql);
		state.close();
		conn.close();
	}
}

在这里,我们在student表中,插入一条数据,相应的字段名对应的值如代码所示。

后面的三个操作,不再给出运行截图了,大家可以通过JDBC连接到数据库之后,在自己数据库的表中进行相应的操作。


那么,以上就是博主对数据增删改查列举的几个简单例子,希望对大家学习数据库和Java有所帮助!!!😊😊😊 

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
使用Java JDBC连接MySQL数据库进行增删改查操作,一般需要以下步骤: 1. 下载并安装MySQL数据库,创建数据库表和数据。 2. 导入MySQL JDBC驱动程序,以便Java程序可以连接操作MySQL数据库。 3. 在Java程序中导入MySQL JDBC驱动程序,使用JDBC API连接MySQL数据库。 4. 使用Java JDBC API执行SQL语句,进行增删改查操作。 下面是一个简单的示例代码,演示如何使用Java JDBC API连接MySQL数据库,并进行数据增删改查操作: ``` import java.sql.*; public class StudentManagementSystem { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 导入MySQL JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 建立MySQL数据库连接 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); // 创建Statement对象,并执行SQL语句 stmt = conn.createStatement(); String sql = "SELECT * FROM student"; rs = stmt.executeQuery(sql); // 处理询结果集 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("学生信息:id=" + id + ", name=" + name + ", age=" + age); } } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { // 释放资源 try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 这个代码创建了一个连接到MySQL数据库的Connection对象,使用Statement对象执行SQL询语句,并处理询结果集。 您可以根据自己的需要使用Java JDBC API执行其他类型的SQL语句,如插入、更新、除等操作,具体操作步骤与询类似。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半子-祁同伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值