【Web学习笔记】JDBC基础

<仅供个人复习使用>

JDBC

JDBC–Java DataBase Connectivity 数据库连接,是一组有Java类、接口组成的用于执行SQL语句的Java API ,可以为多种关系数据库提供同一访问。
java与JDBC结合,具有跨平台特点。

具有的功能:

  1. 与数据库建立链接
  2. 向数据库发送SQL指令
  3. 处理数据库返回的结果

JDBC的层次结构:

在这里插入图片描述


JDBC种类
JDBC URL

1.JDBC数据库开发环境配置

驱动程序的设置:
(1)C/S方式:
右键单击项目属性-Libraries-Add JARs(手动引入)
在这里插入图片描述
(2)Web 方式:
将驱动程序直接复制到:
\WebRoot\WEB-INF\lib下(自动引入)
在这里插入图片描述

2.通过JDBC访问数据库

2.1 JDBC访问数据库的基本步骤

  1. 加载JDBC驱动程序:
//以 mysql 为例:
Class.forName("com.mysql.cj.jdbc.Driver");
  1. 创建数据库连接:
    通过类DriverManager 提供的静态方法:
getConnection(String url,String user,String password);
private static Connection getConnection() throws ClassNotFoundException, SQLException {
		Class.forName("com.mysql.cj.jdbc.Driver");
		String url ="jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=utf-8";
		Connection conn = DriverManager.getConnection(url,"root","123456");
		return conn;
	}
  1. 创建Statement对象并执行SQL语句:
    类Statement主要将SQL命令传送给数据库,并将SQL命令的执行结果返回。
 常用方法有:
 		ResultSet executeQuery(String sql);
 		int executeUpdate(String sql);执行本次sql语句数据库中所受影响的行数
 		int[] executeBatch()将一批命令提交给数据库来执行
 		void addBatch(String sql)将给定的SQL命令添加到Statement对象的当前命令列表中

在这里插入图片描述

  1. 处理SQL的返回结果:
    JDBC通过ResultSet类的对象来实现。提供了一些get方法。获得某些字段的值。
String username = rs.getString("username");
  1. 关闭相关的对象:
conn.close()

2.2 常用JDBC类及方法

在这里插入图片描述
在这里插入图片描述
ps:常用预编译
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/331e516364c74b2c8261a7fb8f3ef041.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNDgxNzM0MTY=,size_20,color_FFFFFF,t_70,g_se,x_1 6)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 事务处理

事务中的SQL语句要么全部执行,要么一个都不执行。

  1. 事务处理的步骤:
    在这里插入图片描述
  2. 实例:
    在这里插入图片描述

2.4 可滚动和可更新的结果集

在这里插入图片描述

2.5 批处理

JDBC为Statement对象提供了批处理功能,即Statement对象调用executeBatch()方法可以一次执行多个SQL语句,只要事先让Statement对象调用addBatch(String sql)方法将要执行的SQL语句添加到该对象中即可。

举例:
在这里插入图片描述

2.6 操作数据库元数据

在这里插入图片描述
在这里插入图片描述

C/S架构下:

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

public class JDBCDemo {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		Class.forName("com.mysql.cj.jdbc.Driver");//1.加载驱动
		String url = "jdbc:mysql://127.0.0.1:3306/dbstudent";//dbstudent--数据库名
		Connection conn = DriverManager.getConnection(url,"root","password");//2.获得和数据库的链接
		Statement statement = conn.createStatement();//3.通过Connection创建Statement对象
		String sql = "select * from tbstudent";
		ResultSet rs = statement.executeQuery(sql);//4.通过Statement执行查询操作返回到ResultSet结果集
		while(rs.next()) { //5.对ResultSet进行操作,while,利用next()移动游标
			//rs.next()---移动游标
			System.out.println(rs.getString("sno"));//rs.getString("sno")
		}
		rs.close(); //6.关闭连接
		statement.close(); 
		conn.close();
	}
}


版权声明:本文为m0_48173416原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。