JDBC连接数据库

一,前言

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

二,概念

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

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

三,JDBC中重要的类

类名作用
Driver数据库驱动,用于获取Connection对象
DriverManager驱动管理器,用于注册驱动,是获取 Connection对象的入口
Connection数据库连接,用于获取Statement对象、管理事务
Statementsql执行器,用于执行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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值