JDBC的使用

JDBC

JDBC是怎么访问操作数据库的?
在说JDBC访问操作数据库的方法之前,我们先来回忆一下程序员是怎么访问操作数据库的。
我们要访问数据库,
第一步:需要提供正确的数据库的用户名和密码,还要保证网络通信的正常
第二步:输入需要执行的sql语句
第三步:显示(处理)结果
同理,java程序访问操作数据库 ,是利用接口来操作
1.Connection——连接数据库的接口(对应第一步)
2.PreparedStatement——执行sql语句的接口(对应第二步)
3.ResultSet——处理查询结果(对应第三步)

在连接数据库之前需要环境搭建,也就是导入数据库的jar包

java连接数据库分为五步

第一步:
加载驱动,目的是将上述的三个接口的实现读入到程序中,当然,不同的数据库加载驱动的方式是不同的,下述给出mysql和oracle两种加载驱动的方式

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

Class.forName("oracle.jdbc.OracleDriver");		//oracle的加载驱动

第二步
创建连接Connection,此时需要提供数据库的用户名和密码

mysql的创建连接

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myschool","root","123456");
//'localhost'为本机IP地址;'myschool'为用户的sid;'root'为用户名;'123456'为密码

oracle的创建连接

conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:xe","system","123456");
//'localhost'为本机的IP地址;‘xe’为用户的sid;‘system’为用户名;‘123456’为密码

第三步

创建PreparedStatement,用来执行sql语句,注意:这一步需要提供sql语句

pstmt = conn.prepareStatement(DELETE FROM student WHERE studentNo = 30014);

//也可以把sql语句单独提出来
String sql = "DELETE FROM student WHERE studentNo = 30014";
pstmt = conn.prepareStatement(sql);

第四步

如果进行的是查询操作(增删改操作忽略此步骤),利用ResultSet对查询到的结果进行处理

ResultSet rs = pstmt.executeQuery();

在这里,需要说一下ResultSet对象的使用,它代表的是本次查询的结构
rs.next()是让ResultSet指针指向数据的下一行,它返回值是Boolean,作用是判断下一行数据是否存在;
rs.next()如果返回值为true,获取这行的内容,若返回值为false,读取内容结束。
rs.next(1)是读取第一列,rs.next(2)是读取第二列…以此类推
如下图所示:
在这里插入图片描述
在这里插入图片描述
代码实现:

ResultSet rs = pstmt.executeQuery();
			
while(rs.next()){
	System.out.println("id    \t" + rs.getInt(1));
	System.out.println("name   \t" + rs.getString(2));
	System.out.println("bornDate  " + rs.getDate(3));
	System.out.println();
}

第五步

关闭资源,遵循先用后关的原则
先用的Connection,所以先关闭PreparedStatement

if(pstmt != null){
		try {
			pstmt.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	if(conn != null){
		try {
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
}

以上为本人学习理解后的总结,若有错误之处,望大佬们指出,不理解的地方欢迎评论、私信,大家一起学习,共同进步!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值