JAVA自学笔记,JDBC中常用的类和接口

在Java语言中提供了丰富的类和接口用于数据库编程,利用这些类和接口可以方便地进行数据访问和处理。我们来看一下JDBC中常用的类和接口,它们都在java.sql包中。

DriverManger类

DriverManager类用来管理数据库中的所有驱动程序,它是JDBC的管理层,用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。这里提到的数据库驱动程序,在使用Java操作数据库之前,首先需要加载驱动程序,Java中使用Class类的静态方法forName(Sring className)加载要连接数据库的驱动程序。我们先来看一下如何使用这个驱动程序。
首先我们需要下载驱动程序,只需要在百度上百度mysql驱动程序。
在这里插入图片描述
找到这个MySQL官网。
在这里插入图片描述
下载完之后解压缩文件得到一个文件夹,打开文件夹看到如下文件,
在这里插入图片描述
然后我们打开IDEA创建一个libs文件夹(文件夹名字随便起),然后将文件复制进入libs文件夹。
在这里插入图片描述
然后再libs文件夹上单击右键徐州你咋Add as Library导入包。
在这里插入图片描述
在这里插入图片描述
弹出这个窗口我们直接点击确定就可以了。
然后我们输入连接MySQL数据库的代码。如下:

Class.forName("com.mysql.jdbc.Driver");

如果上面导入包的操作没有错误的话。idea在你输入代码的时候会有提示。
在这里插入图片描述
这段代码会出现异常。所以我们可以选择用try…catch语句块,或者直接将异常抛出。
加载完相应的数据库程序后,Java会自动将驱动程序的实例注册到DriverManager类中,这时即可通过该类的getConnection()方法建立连接,DriverManager类的常用方法如下:
在这里插入图片描述
使用DriverManager后去本地MySQL数据库连接的代码如下:

DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","username","password");
String url = "jdbc:mysql://127.0.0.1:3306/test";
String username = "username";
String password = "password";
DriverManager.getConnection(url,username,password);

Connection接口

Connection接口代表与特定的数据库的连接,常用方法如下表:
在这里插入图片描述
例如,使用Connection对象连接MySQL数据库。

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

Statement接口

Statement接口用于在已经建立连接的基础上向数据库库发送SQL语句,其常用方法如下:
在这里插入图片描述
例如,使用数据库对象con的createStatement()方法创建Statement对象sql:

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

PreparedStatement接口

PreparedStatement接口继承自Statement接口,用来执行动态的SQL语句。PreparedStatement接口的常用方法如下:
在这里插入图片描述
例如,使用连接数据库对象con的PrepareStatement()方法创建PrepareStatement对象sql,其中需要设置一个参数:

PrepareStatement ps = con.prepareStatement("select * from 表名 where name = ?");
ps.setInt(1,"阿强");//将sql中第一个问号的值设置为"阿强"

CallableStatement接口

CallableStatement接口继承并扩展了PreparedStatement接口,用来执行对数据库的存储过程的调用,常用方法如下:
在这里插入图片描述
在执行储存过程之前,必须注册所有输出参数(out)的类型,它们的值是在执行后通过getXXX()方法获得的。
例如,使用Connection对象的eprepareCall方法生成一个CallableStatement对象,并指定执行pro_insert存储过程:

CallableStatement cablStmt = conn.prepareCall("{call pro_insert(?,?)}");//调用存储过程

在调用存储过程时,要严格遵守“{call pro_insert(?,?)}”格式,启动“pro_insert”为存储过程的名称,每个“?”代表一个参数,之间用逗号分隔。

ResultSet接口

ReaultSet接口类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集,ResultSet实例具有指向当前数据行的指针,指针开始的位置在第一条记录的前面,通过next()方法可将指针向下移动,ResultSet接口的常用方法如下:

在这里插入图片描述
使用updateXXX()方法更新行数据时,并没有将对数据进行的操作同步到数据库中,需要执行updateRow()方法或insertRow()方法才可以更新数据库。
例如,有一个Statement对象sql,现在使用该对象获取tb_stu表中的所有数据,并存储到ResultSet中,然后输出获取到的所有数据:

ResultSet res = sql.executeQuery("select * from tb_stu");		//获取查询的数据
while(res.next()){												//如果当前语句不是最后一条,则进入循环
String id = res.getString("id");								//获取列名是id的字段
String name = res.getString("name");							//获取列名是name的字段值
String sex = res.getString("sex");								//获取列名是sex的字段值
String birthday = res.getString("birthday");					//获取列名是birthday的字段值
System.out,println("编号"+id);//将列值输出
System.out,println("姓名"+name);
System.out,println("性别"+sex);
System.out,println("生日"+birthday);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值