JDBC技术(一)

本文介绍JDBC(Java数据库连接)的基本概念,它是Java访问数据库的标准规范。文章详细讲解了JDBC的工作原理,包括注册驱动、获取连接、执行SQL语句等关键步骤,并提供了插入数据和查询数据的具体示例。
摘要由CSDN通过智能技术生成

【概述】

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范

JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。

【原理】 

【开发步骤】

  1. 注册驱动.
  2. 获得连接.
  3. 获得语句执行平台
  4. 执行sql语句
  5. 处理结果
  6. 释放资源.

【示例】

1、插入数据

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

/*
	JDBC操作数据库的步骤
	1.注册驱动
	    告知JVM使用的是哪一个数据库的驱动
	2.获得连接
	   使用JDBC中的类,完成对MySQL数据库的连接
	3.获得语句执行平台
	  通过连接对象获取对SQL语句的执行者对象
	4.执行sql语句
	  使用执行者对象,向数据库执行SQL语句
	  获取到数据库的执行后的结果
	5.处理结果
	6.释放资源  一堆close()
 */
public class JDBCDemo {
	public static void main(String[] args)throws ClassNotFoundException,SQLException{
		//1.注册驱动 反射技术,将驱动类加入到内容
		// 使用java.sql.DriverManager类静态方法 registerDriver(Driver driver)
		// Diver是一个接口,参数传递,MySQL驱动程序中的实现类
		//DriverManager.registerDriver(new Driver());
		//驱动类源代码,注册2次驱动程序
		Class.forName("com.mysql.jdbc.Driver");
		
		//2.获得数据库连接  DriverManager类中静态方法
		//static Connection getConnection(String url, String user, String password)  
		//返回值是Connection接口的实现类,在mysql驱动程序
		//url: 数据库地址  jdbc:mysql://连接主机IP:端口号//数据库名字
		String url = "jdbc:mysql://localhost:3306/day07";
		String username="root";
		String password="root";
		Connection con = DriverManager.getConnection(url, username, password);
		
		//3.获得语句执行平台, 通过数据库连接对象,获取到SQL语句的执行者对象
		// con对象调用方法   Statement createStatement() 获取Statement对象,将SQL语句发送到数据库
		// 返回值是 Statement接口的实现类对象,,在mysql驱动程序
		Statement stat = con.createStatement();
		//	4.执行sql语句
		// 通过执行者对象调用方法执行SQL语句,获取结果
		// int executeUpdate(String sql)  执行数据库中的SQL语句, insert delete update
		// 返回值int,操作成功数据表多少行
		int row = stat.executeUpdate
				("INSERT INTO product(pname,price,cno) VALUES('衡水老白干',100,3)");
		System.out.println(row);
		
		//6.释放资源  一堆close()
		stat.close();
		con.close();
	}
}

2、查询

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

/*
 *  JDBC技术,查询数据表,获取结果集
 */
public class JDBCDemo1 {
	public static void main(String[] args) throws Exception{
		//1. 注册驱动
		Class.forName("com.mysql.jdbc.Driver");
		//2. 获取连接对象
		String url = "jdbc:mysql://localhost:3306/day07";
		String username="root";
		String password="root";
		Connection con = DriverManager.getConnection(url, username, password);
		//3 .获取执行SQL 语句对象
		Statement stat = con.createStatement();
		// 拼写查询的SQL
		String sql = "SELECT * FROM product";
		//4. 调用执行者对象方法,执行SQL语句获取结果集
		// ResultSet executeQuery(String sql)  执行SQL语句中的select查询
		// 返回值ResultSet接口的实现类对象,实现类在mysql驱动中
		ResultSet rs = stat.executeQuery(sql);
		//5 .处理结果集
		// ResultSet接口方法 boolean next() 返回true,有结果集,返回false没有结果集
		while(rs.next()){
			//获取每列数据,使用是ResultSet接口的方法 getXX方法参数中,建议写String列名
			System.out.println(rs.getInt("pid")+"   "+rs.getString("pname")+
					"   "+rs.getDouble("price")+"   "+rs.getString("cno"));
		}
		
		rs.close();
		stat.close();
		con.close();
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值