JDBC连接数据库

JDBC连接数据库

一,前言

​ 了解JDBC的概念,掌握JDBC中常用的类和方法,掌握JDBC的基本操作步骤

二,概念

​ SUM公司为了简化开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库的)规范,俗称JDBC。

​ 这些规范的实现有具体的厂商去做,对于开发人员来说,只需掌握JDBC接口的操作即可。

三,JDBC中重要的类

类名 作用
Driver 数据库驱动,用于获取Connection对象
DriverManager 驱动管理器,用于注册驱动,是获取 Connection对象的入口
Connection 数据库连接,用于获取Statement对象、管理事务
Statement sql执行器,用于执行sql
PreparedStatement 表示预编译的SQL语句的对象。
ResultSet 结果集,用于封装和操作查询结果

1.Driver类

​ 位于导入的jar包中,是所有JDBC驱动程序需要实现的接口,不同的数据库厂商提供不同的实现。

​ 在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现

//mysql驱动
com.mysql.jdbc.Driver
//oracle驱动
oracle.jdbc.driver.OracleDriver

2.DriverManager类

​ 在java.sql这个包里面,管理一组 JDBC 驱动程序的基本服务。叫作驱动管理对象,获取数据库连接。

//1.加载数据库的驱动
Class.forName("com.mysql.jdbc.Driver");

//2.获取数据库连接
DriverManager.getConnection(url, "postgres", "888888");

3.Connection

​ Connection 对象的数据库能够提供描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的信息。

常用方法:

//获取执行sql 的对象 
Statement createStatement()
PreparedStatement prepareStatement(String sql) 

//管理事务
setAutoCommit(boolean autoCommit):
    开启事务,调用该方法设置参数为false,即开启事务
commit():
	提交事务
rollback():
    回滚事务

4.Statement

​ sql执行器,用于执行sql。

常用方法:

//可以执行任意的sql 
boolean execute(String sql);

// 执行DML(insert、update、delete)语句、DDL(create,alter、drop)语句
//返回值:影响的行数,可以通过这个影响的行数判断DML语句是否执行成功 返回值>0的则执行成功,反之,则失败。
int executeUpdate(String sql);

//执行DQL(select)语句
ResultSet executeQuery(String sql);

5.PreparedStatement

​ sql预编译执行器,用于执行预编译的sql。

常用方法:

String sql = "INSERT INTO `表名` VALUER (?,?,?,?,?)"

void	set数据类型(int parameterIndex, 数据类型 obj)
将指定的参数设置为给定的对象。

6.ResultSet

​ 结果集对象,封装查询结果

​ 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果 集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等。

常用方法:

rs.previous();//向前滚动         

rs.next();//向后滚动         

rs.getRow();//得到当前行号         

rs.absolute(n);//光标定位到n行         

rs.relative(int   n);//相对移动n行         

rs.first();//将光标定位到结果集中第一行。         

rs.last();//将光标定位到结果集中最后一行。         

rs.beforeFirst()//将光标定位到结果集中第一行之前。         

rs.afterLast();//将光标定位到结果集中最后一行之后。         

rs.moveToInsertRow();//光标移到插入行         

rs.moveToCurrentRow();//光标移回到调用 

rs.moveToInsertRow()方法前光标所在行    

四,JDBC操作步骤

//前提已导入驱动jar包
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");

//2.用户信息和url,url:使用Unicode中文编码,使用utf8字符集,使用安全的连接
String url = "jdbc:mysql://localhost:3306/库名/+
jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
String name = "root";
String passWord = "123456";

//3.连接成功,数据库对象,Connection代表数据库
Connection con = DriverManager.getConnection(url,username,password);

//4.执行SQL的对象,Statemnt 执行sql的对象
Statemnt stat = con.createStatement();

//5.执行SQL的对象 去 执行SQL,可能存在的结果,查看返回结果
String sql = "SELECT * FROM `表名`";
ResultSet rs = stat.executeQuery(SQL);//返回结果集
while(rs.next()){
	System.out.println(rs.get数据类型(`字段名1`));
	System.out.println(rs.get数据类型(`字段名2`));
    ...
}

//6.释放连接,按照后开先关的顺序关流
rs.close();
stat.close();
con.close();
posted @ 2022-04-18 17:09  morrowday  阅读(86)  评论(0)    收藏  举报