Java使用JDBC用操作MySQL的基本实现

5 篇文章 0 订阅

写在前面

书接上回,上周写的博客还不错,感谢各位读者的支持。

在学完了MySQL的基础操作之后,接下来就该学习如何在业务层面去使用数据库了,一切的学习都是为了实际运用,所以就要开始学习JDBC了。

任何工作,如果过程复杂且重复,就需要发明一种工具或者找到一种方法来解决,这便是人类科技发展的源动力。所以说人懒点还是有好处的,很多发明创造都是懒人发明的,懒得走路发明了汽车飞机,这就是我们彭老师常说的,不要重复造轮子。

而这个JDBC,就是Java连接数据库的一种方案,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口

一、JDBC的优缺点

很少也很难有一种工具从刚被制造出来就是完美无瑕,不需要修缮的,尤其是复杂的工具,就像我们学习的编程语言,从程序“远古”时代的B语言,到C语言、C++,一直到现如今我们学习的java,都不是一人一时一地的产物,都是经过很多人努力、修缮的结果,而JDBC作为帮助我们连接java和数据库的工具,也有其优缺点。

1.优点

JDBC是直接底层操作,提供了简单,便捷的访问数据库的方法,跨平台性较强,灵活比较强,可以执行很复杂的SQl语句。这一点我深有感触,不过鄙人学艺不精,老是写错SQL语句(QAQ),是不是还得切回数据库试一下555,什么时候在java中写sql语句写错了也标红就好了(Oracle公司的HR,我给你们一次录用我的机会)

2.缺点

JDBC的缺点也很明显(你以为我会告诉你我们上周刚考过吗),有如下四个方面:

(1)硬编码

SQL语句存在Java代码中,不能很好的分离数据库语句和Java语句,造成代码不易维护;

(2)SQL参数固定

SQL语句的参数固定,使得SQL语句不灵活,无法满足多变的场景。

(3)代码重复度高

大量的重复代码,以ResultSet为例,每次都需要重复解析结果集;

(4)底层技术

JDBC属于底层的技术,不支持分布式,缓存等技术,对于复杂场景的应对不好;在前文说了,直接底层操作,这是他的优点,但也是他的弊端,唉。

不过呢,既然缺点都知道了,那就像程序报的异常,已经告诉你了,接下来想办法去解决就行了。暴露问题不一定是坏事。(有bug总比找不到bug好)

二、JDBC操作步骤

教我们数据库的帅气的彭老师(老彭你看到没我真的在夸你)上课举得例子很有意思,java和数据库的链接,就好比我们买了台笔记本,买了个鼠标,而JDBC就是你电脑里安装的鼠标驱动,没有这个,光插上USB接口也用不了。

而JDBC的类与驱动有四个:

1.JDBC的类与接口

(1)驱动管理类 : DriverManager

        他的作用是用来告诉程序该使用哪一个数据库驱动jar, static void registerDriver(Driver driver):注册与给定的驱动程序 DriverManager

        写代码使用:Class.forName("com.mysql.jdbc.Driver");

(2)连接接口 Connection

        Connection接口代表与特定的数据库的连接.要对数据表中的数据进行操作,首先要获取数据库连接.Connection实现就像在应用程序中与数据库之间开通了一条渠道.通过DriverManager类的getConnection()方法可获取Connection。

(3)语句对象接口 Statement

Statement 是 Java 执行数据库操作的一个重要接口,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。Statement对象,用于执行不带参数的简单SQL语句。

(4)结果集接口ResultSet

ResultSet,数据库结果集的数据表,通常通过执行查询数据库的语句生成。

2.JDBC具体怎么用

具体的来说很简单,就是打开冰箱门,把大象放进去,关上冰箱门,不过记得要把大象放出来,不然资源不够用了。不过首先,你得有一个冰箱。

(1)下载驱动

 

这个驱动就是我现在lib文件夹下的mysql-connector-java-8.0.15.jar文件,可以到官网下载,或者来找我要,我不一定给。

下载好后右键点击 下图的按键

 (2)使用DriverManager    获取Connection连接

 

String url = "你的url";
		String user = "用户名";
		String pwd = "密码";
		
		Connection conn = DriverManager.getConnection(url, user, pwd);
		System.out.println(conn);

这其中的url, user, pwd分别是你的数据库url(协议、地址(端口)、资源)、用户名、密码

(3)Statement   ,获取执行sql语句的对象

		Statement statm = conn.createStatement();

(4) 执行你需要执行的sql语句

int ret = statm.executeUpdate("你需要执行的sql语句" );
		//ret在数据库中影响的行数
		if(ret > 0) {
			System.out.println("执行成功");
		}else {
			System.out.println("执行失败");
		}

(5)释放资源

把大象从冰箱里取出来

statm.close();
conn.close();

完事,下班,打开,走人,挤公交。

三、结语

不知道大家有没有感觉,虽然看着挺简单的,但真的上手用JDBC写代码的时候,还是有点难度的,所以开发者们又推出了一种基于JDBC的更简单的方法来进行java与数据库的连接,且听下回分解。

路走的越远,越发现世界的广阔,书读的越多,越发现自己的渺小,而我呢,越深入学习程序越觉得这些发明者,这些程序开发先驱者们是真滴牛×,我们学起来都这么费劲,这些开发者们是怎么开发出来的。

所以我们现如今所有的工作以及工作成就,都是站在前人的基础上完成的,知晓这一点的我不由得对他们表示感谢,他们真的改变了世界。也忽地觉得,近代中国一百年的黑暗,让我们落下的东西太多了,从基础科学到现如今的程序开发,我们以及追赶上了很多,但这项工作依然任重道远。

至此感谢所有从事java开发的所有工作者,你们正在改变世界。

尔曹身与名俱灭,不废江河万古流。

  • 39
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值