Jdbc回顾NO.1

jdbc 操作详解
注册驱动
DriverManger.registDriver(new Driver());
DriverManger类
java.sql
类 DriverManager
管理一组 JDBC 驱动程序的基本服务。
static void registerDriver(Driver driver)
向 DriverManager 注册给定驱动程序。
getConnection

public static Connection getConnection(String url,
Properties info)
throws SQLException
试图建立到给定数据库 URL 的连接。DriverManager 试图从已注册的 JDBC 驱动程序集中选择一个适当的驱动程序。

DriverManger其实是一个容器。它可以装入很多的驱动。(vector)
可以装入很多的数据库驱动。

java.sql
接口 Driver

public interface Driver
每个驱动程序类必须实现的接口。

他的registDriver方法分析
public static synchronized void registerDriver(java.sql.Driver driver)
参数是一个java.sql.Driver
我们传递的是com.mysql.jdbc.Driver;
这里写图片描述
在驱动管理器中会装入两个mysql驱动
解决方案:反射 Class.forName();
Class.forName(“com.mysql.jdbc.Driver”); 使用类反射静态的驱动就可以获得。
分析:使用的反射的方式
1.只加载一次,就装入一个驱动对象。
2.不依赖jar包,降低耦合,不依赖驱动。
3.可以通过DriverManager来获取连接对象
Connection con =DriverManager.getConnection(String url,String user,String password);

ojdbc是oracle驱动

url作用:用于确定使用哪一个驱动 ,通过url去找你的驱动
mysql url:jdbc:mysql://localhost:3306/数据库名
oracle url: jdbc:oracle:thin:@localhost:1521:sid(用户管理)

关于url
url用于标识数据库的位置,找哪个数据库的。
url格式 主协议:子协议 ://localhost主机:3306 端口/ 数据库
mysql的url可以简写

前提:主机是localhost 端口是3306
jdbc:mysql:///day17
在url后面可以带参数 &

Connection
与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。 用来获取连接 ,代表的是一个连接对象,就是程序和数据库连接

作用:
1.可以通过connection获取操作 sql的statement对象。
Statement createStatement()
throws SQLException
创建一个 Statement 对象来将 SQL 语句发送到数据库。
示例:
Statement st=conn.createStatement();
2.可以操作事务。
了解:1.可以获取执行预处理的PreparedStatement对象
PreparedStatement prepareStatement(String sql)
throws SQLException
创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。为了处理受益于预编译的带参数 SQL 语句,此方法进行了优化。如果驱动程序支持预编译,则 prepareStatement 方法将该语句发送给数据库进行预编译。
sql - 可能包含一个或多个 ‘?’ IN 参数占位符的 SQL 语句
2.可以获取存储过程的CallableStatement

Statement
用于执行我们的sql语句,用于执行静态 SQL 语句并返回它所生成结果的对象。
1.执行sql
DML:insert update delete
executeUpdate

int executeUpdate(String sql)
throws SQLException
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
DQL:select
ResultSet executeQuery(String sql)
throws SQLException
执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
参数:
sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句
execute(String sql) 用于向数据库发送任意语句
2.批处理操作
addBatch(String sql);将sql语句添加到批处理
executeBat();批量执行
clearBatch();清空

ResultSet详解
java.sql.resultSet他是用于封装select语句执行后查询的结果。
常用api
next()用于判断是否有下一条记录。如果有返回true,并且让游标向下移动一行,如果没有返回false
2.可以通过ResultSet提供的一些get.xxx方法来获取当前游标指向的这条记录中的列数据
常用:
getInt();
getString();
getDate();
getDouble();
参数有两种
1.getInt(int columnIndex);列号
2.getInt(String columnnIndex);名称 兼容性比较强的,都可以通过String获取 指在数据库中操作。

如果列的类型不知道,可以通过下面的方法进行操作
getObject(int/String columnIndex);
一般是封装Bean中。封装成对象。
注意
absolute();移动到指定行
updateRow更新行数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值