JDBC学习例1-基础介绍(code+注释)

本文介绍了如何使用Java通过JDBC连接MySQL数据库,包括驱动注册、数据库链接、执行SQL操作及错误处理。重点展示了如何执行查询和更新操作,并演示了资源管理的最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.centimtrans.part2;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcTest {
	public static void main(String[] args)  {
		Connection conn = null;	
		Statement statement = null;
		ResultSet rs = null;
		try {
/*************		1. 注册数据库驱动,  ****************/
			Class.forName("com.mysql.cj.jdbc.Driver"); //Driver类从磁盘加载到内存并执行其内部的驱动注册方法(静态的)
/*************		2. 获取数据库链接, ****************/
			conn = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/MYDB?charactoerEncoding=utf-8", 
					"root",
					"11111111");
			System.out.println("链接数据库成功");
/*************		3. 获取传输器, 获取多个传输器  ****************/
			statement = conn.createStatement();
/*************	4. 发送sql到数据库并执行返回结果  ****************/
			String sql = "select * from class";
			String updateSql = "update class set class_name='classname'";
			rs = statement.executeQuery(sql);	
/*************		5.处理结果       ****************/
			while(rs.next()) {
//			System.out.println(rs.getInt("id")+":"+ rs.getString("class_name"));
				System.out.println(rs.getObject(1).toString()+rs.getObject(2).toString());
			}
/*************	4. 发送sql到数据库并执行返回结果  ****************/
			int count  = statement.executeUpdate(updateSql);
/*************		5.处理结果       ****************/
			System.out.println(count + "数据被更新");
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
/*************		6. 释放资源   ****************/
			if (null != rs) {   //避免 	rs未赋值掉情况下调用close()导致异常
				try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}finally {
					rs = null;  //置为游理对象,利用垃圾回收机制关掉,会比Close慢
				}
			}
	
			if (null != statement) { 
				try {
					statement.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}finally {
					rs = null;  //置为游理对象,利用垃圾回收机制关掉。会比Close慢
				}
			}
			if (null != conn) { 
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}finally {
					conn = null;  //置为游理对象,利用垃圾回收机制关掉。会比Close慢
				}
			}
		}	
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值