java之JDBC中常用的类和接口

本文详细介绍了Java JDBC中的关键类和接口,包括DriverManager用于加载数据库驱动并建立连接,Connection接口代表与数据库的连接,提供创建Statement和PreparedStatement对象的方法,以及设置读写模式、提交和回滚事务等。Statement接口用于执行SQL语句,而PreparedStatement接口则用于执行预编译的SQL语句,提高效率并防止SQL注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、DriverManager类

DriverManager类用来管理数据库中所有的驱动程序,它是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。在使用java操作数据库之前,首先需要加载驱动程序,java中使用Class类的静态方法forName(String className)加载要连接的数据库的驱动程序。

加载数据库驱动程序

  • MySQL——Class.forName(“com.mysql.jdbc.Driver”);
  • Oraclel——Class.forNmae(“oracle.jdbc.driver.OracleDriver”);
  • SQL Server2000——Class.forNmae(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
  • SQL Server2005——Class.forNmae(“com.microsoft.sql.jdbc.SQLServerDriver”);

DriverManager类的常用方法

  1. getConnection(String url,String user,String
    password)——指定3个入口参数(分别是连接数据库的URL、用户名、密码)来获取与数据库的连接
  2. setLoginTimeout()——获取驱动程序试图登录到某一数据库时可以等待的最长时间,以秒为单位
  3. println(String message)——将一条信息打印到当前JDBC日志流中

示例用DriverManager获取本地MySQL数据库连接:

DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","password");
//127.0.0.1表示本地IP地址,3306是MySQL的默认端口,test是数据库名称

二、Connection接口

Connection接口代表与特定的数据库的连接,常用方法如下

Connection接口的常用方法

  • createStatement()——创建statememt对象
  • createStatement(int resultSetType,int resultSetConcurrency)——创建一个statement对象,该对象将生成具有给定类型、并发性和可保存性的ResultSet对象
  • preparedStatement()——创建一个预处理对象
  • prepareCall(String sql)——创建一个Callablestatement对象来调用数据库存储过程
  • isReadOnly()——查看当前connection对象的读取模式是否是只读模式
  • setReadOnly()——设置当前connection对象的读写模式,默认为非只读模式
  • commit()——使所以上一次提交/回滚后进行的更改成为持久更改,并释放此connection对象当前所持有的所有数据库锁
  • roolback()——取消在当前事务中进行的所有更改,并释放此Connection对象当前所持有的所有数据库锁
  • close()——立即释放此Connection对象的数据库和JDBC资源,而不是等待它们被自动释放

示例使用Connection对象连接MySQL数据库:

Connection con;//声明connection对象
//加载数据库驱动
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
//通过访问数据库的URL获取数据库连接对象
try{
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");
}catch(SQLException e){
e.printStackTrace();
}

三、Statement接口

Statement接口用于在已经建立连接的基础上向数据库发送SQL语句,其常用的方法如下:

Statement接口中常用的方法

  • execute(String sql)——执行静态的SELECT语句,该语句可能返回多个结果集
  • executeQuery(String sql)——执行给定的SQL语句,该语句返回单个ResultSet对象
  • clearBatch()——清空此statement对象的当前SQL命令列表
  • executeBatch()——将一批命令提交给数据库执行,如果全部命令执行成功,则返回更新计数组成的数组。数组元素的排列与SQL语句的添加顺序对应
  • addBatch(String sql)——将给定的SQL命令添加到此Statement对象的当前命令列表中,如果驱动程序不支持批量处理,将抛出异常
  • close()——释放Statement占用的数据库和JDBC资源

示例使用连接数据库对象con的createStatement()方法创建statement对象sql:

try{
Statement stmt=con.createStatement();
}catch(SQLException e){
e.printStackTrace();
}

四、PreparedStatement接口

PreparedStatement接口继承自Statement接口,用来执行动态的SQL语句,其常用的方法如下:

PreparedStatement接口的常用方法:

  • setInt(int index,int k)——将指定位置的参数设置为int值
  • setFloat(int index,float f)——将指定位置的参数设置为float值
  • setLong(int index,long l)——将指定位置的参数设置为long值
  • setDouble(int index,double d)——将指定位置的参数设置为double值
  • setBoolean(int index,boolean b)——将指定位置的参数设置为boolean值
  • setDate(int index,date date)——将指定位置的参数设置为date值
  • executeQuery()——在此PreparedStatement对象中执行SQL查询,并返回该查询生成的ResultSet对象
  • setString(int index,String s)——将指定位置的参数设置为对应的String值
  • setNull(int index,int sqlType)——将指定位置的参数设置为SQL NULL
  • executeUpate()——执行前面包含的参数的动态 INSERT,UPDATE或DELETE语句
  • clearParameters()——清楚当前所有参数的值

示例使用连接数据库对象con的prepareStatement()方法创建preparestatement对象sql:

PrepareStatement ps=con.prepareStatement("select * from tb_stu where name=?");
ps.setString(1,"小强");//将sql中的第一个问号的值设置为“小强”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值