【这是一猿小讲的第 41 篇原创分享】

今天雅兴又起,再续爱情36技。大概率你们已经淡忘了 Java 那小子与 Python 菇凉浪漫的爱情故事,容我再帮着给大家回味一下。

Java 那小子先是靠着《爱情36技之追美妹的技术》抱得美人归;考虑到爱情保鲜,Java 那小子又借着《爱情36技之暗送秋波的技术》实现了对 Python 菇凉的暗送秋波;为了能够能让爱情更长远,然后两人靠着《爱情36技之趣味相投》实现了志同道合,Python 菇凉从此也踏上学习编程之路;为了让努力学习编程的 Python 菇凉稍微放松一下,特意安排一次游玩,没成想,游玩途中却出现了《爱情36技之Bug大战》;为了让 Python 菇凉能学好编程技术,考虑到好的学习方法是成功的一半,于是 Java 那小子在猿门开坛设法进行了《爱情36技之猿门授渔》;由于繁琐的编程知识向 Python 菇凉的袭来,Python 唯恐浪漫的旅行记忆,会被繁琐的编程知识抹去,考虑到好记性不如烂笔头,于是让 Java 那小子实现《爱情36技之记忆永存》。

让故事给技术加点料,说句心里话,未曾想爱情36技,还真连载了几篇,无论质量如何,总之是数量是跟上了(捂嘴笑),希望你们能够喜欢。

好了,准备好小板凳,今天的故事又要开始啦。

1.

承接上次,在 MySQL 兄弟的帮助下,Java 那小子完成了 Python 菇凉的浪漫旅途记忆的存储,但是 Python 菇凉感觉查询不太方便,每次要打开一个黑布隆冬的界面,能否自研一套个性化的工具,完成对 MySQL 兄弟的 CRUD?

Java 那小子会意一笑。“这不就是我的专长么,看来今天有必要,再给你介绍一个新朋友 JDBC?”

“JDBC?啥是JDBC?” Python 菇凉一脸懵的问。

Java 那小子发自内心的说道:“JDBC 是定义的一套数据库连接规范,也就是定义了一系列的接口,然后让各个数据库厂商去实现,其中 MySQL 兄弟就实现了规范,出了一套 mysql-connector-java。”

Python 菇凉满怀期待的说:“那别瞎扯啦,咱们赶紧用它实现一个 MySQL 的客户端呗?”

“好,那你坐稳扶好,我要开车啦。” Java 那小子兴奋的说道。

2.

首先咱们要引入 MySQL 兄弟实现的驱动包。

<dependency>  <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>   <version>8.0.17</version>
</dependency>

接着要拆分一下目标,把大象放到冰箱里大概分为那几步?

接着定义能够获取对 MySQL 兄弟的连接方法。

考虑到功能复用,紧接着定义一个接收控制台输入的方法。

接下来就可以依据不同的命令,做不同的操作了,我们可以支持 quit 退出系统、commit 提交事务、rollback 回滚事务。

考虑到功能复用,我们定义一个可以实现从控制台输入中,截取出实际输入命令的方法。

接着定义处理事务的方法,相当之简单,输入是 commit 指令,就进行提交事务,否则就回滚事务。

紧跟着就实现重头戏,CRUD 全在这里啦,可以认为是这篇分享的 C 位。

然后就是定义工具类 JdbcUtil,完成结果集打印以及资源释放,重点在结果集打印,资源释放的图就不截了。

代码码完,能否经得起检验,是骡子是马,是时候牵出来溜一圈啦。运行程序,根据提示依次输入数据库连接 URL、用户名、密码,效果如下:

意料之中,成功连上数据库。

为了更好的体验,把上次为 Python 菇凉创建的浪漫旅行的数据库先删除。

然后看看是否真删除掉了呢?

接下来就为 Python 菇凉再创建一个专门存储浪漫旅行的数据库 travel。

接下来使用 travel 库。

在 travel 库下,创建表 memories。

插入 Python 菇凉去土耳其的旅行记录。

查询记录是否插入成功。

事务回滚试一下,效果也是杠杠滴。

看到实现效果,Python 菇凉流露出甜蜜的笑容。

3.

经验分享,如果中文出现“???”,检查一下数据库连接URL,把 useUnicode=true&characterEncoding=utf-8 拼接上就行了。

好了,今天的分享就到这儿吧,主要分享一款玩转 JDBC 的工具,适合 Java 猿(媛)们入门学习使用,如果面试中再问道 JDBC的问题,不妨提提这次的编码经历,说不定会加分。另外剩下的 update、delete、drop、quit 等等就交给你们自己去验证吧。

爱情36技之一劳永逸相关推荐

  1. 【Java技术系列】爱情36技之猿门授渔

    上面蓝色"一猿小讲"点击加关注 觉得好看,记得再设置"星标"哦 [这是一猿小讲的第 29 篇原创分享] 1. 授人以鱼,不如授人以渔.就用上面两张图片展开今天的 ...

  2. 【Java技术系列】爱情36技之趣味相投

    [这是一猿小讲的第 27 篇原创分享] 1. 鲁迅先生曾经说:两个人志同道合,爱情才能走得长久. 我们老百姓常说:磨刀不误砍柴工:工欲善其事必先利其器. 准备好小板凳,今天的故事就从这两句不搭边的话开 ...

  3. 【Java技术系列】爱情36技之暗送秋波的技术

    [这是一猿小讲的第 26 篇原创分享] 1. 这篇文章想分享已经很久了,苦于皱巴巴的技术比较生涩难懂,迟迟没有找到好的分享方式,今天结合爱情中暗送秋波的故事的形式,尝试分享一下. 以后如果再有人问你们 ...

  4. 【Java技术系列】爱情36技之Bug大战

    [这是一猿小讲的第 28 篇原创分享] 1. 鲁迅先生说:程序员,天不怕地不怕,就怕小虫儿爬呀爬,爬呀爬. 随着时间的推移,鲁迅先生又说:真正勇猛的程序员,敢于让虫子面对惨淡的虫生. 虫子在程序员心中 ...

  5. 【Java技术系列】爱情36技之记忆永存

    [这是一猿小讲的第 32 篇原创分享] 1.  关注"一猿小讲"公众号的伙伴们都清楚,Java 那小子带着心爱的 Python 菇凉,去了一趟浪漫的土耳其,然后一起又去了东京和巴黎 ...

  6. 爱情36技之记忆重生

    [这是一猿小讲的第 72 篇原创分享] 今天一位跨界老码农不知咋回事,兴奋过了头,一不小心把数据库给删掉啦,然后问我咋恢复,然后我告诉他基于 binlog 可以恢复,谁成想没有开启 binlog,最后 ...

  7. 【Java技术系列】爱情36技之追美妹的技术

    [这是一猿小讲的第 25 篇原创分享] 1. 在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些,超过了外星人设置的阈值,立刻拉响了人类即将产生文明的警报.因为外星人认为,人类已 ...

  8. 定期总结,及时复盘,三省吾身。

    岁月蹉跎,时不我待.不知不觉,2020 年,上半年快过去啦. 今天,花几分钟,对这段时间分享的 100 多篇原创文章,进行整理,以便大家阅读,如果你错过一些精彩的文章,今天绝对是一个补票的好机会.点击 ...

  9. 程序慢的像蜗牛,我该怎么办?

    [这是一猿小讲的第 34 篇原创分享] 1. "一猿小讲"公众号的风格就是多元化,偶尔会真情吐露一下程序猿的内心:偶尔也结合自己的经历畅聊一些经验杂谈:其中也不乏幽默风趣的技术故事 ...

最新文章

  1. 【论文速读】RandLA-Net大规模点云的高效语义分割
  2. PowerMockito的简单的介绍
  3. 数据中心运营:内包还是外包?
  4. centos7创建asm磁盘_Oracle ASM 磁盘组基础知识整理(收藏版)
  5. (Review cs231n) Backpropagation and Neural Network
  6. IS-IS(笔记整理)
  7. 移动互联网时代,学iOS开发好吗
  8. 剑指offer面试题[42]-反转单词顺序VS左旋转字符串
  9. PHP调用MYSQL存储过程实例
  10. python tkinter 窗口 隐藏 显示_【Python GUI】隐藏窗体和弹窗窗体的探索
  11. Linux基础命令:awk
  12. 在网络上面下载ts文件并且转换为mp4
  13. 什么是蜘蛛池?有什么作用?
  14. java标签用setbounds,java-摆动setResizable和setBounds
  15. 用python画奥特曼_你都用 Python 来做什么?
  16. HTML5七夕情人节表白网页制作 (蓝色主题-樱花雨3D相册)HTML+CSS+JavaScript
  17. Caj论文转pdf(带书签目录)
  18. 〖Python网络爬虫实战③〗- 爬虫的基本原理
  19. OV7725寄存器配置
  20. 面试题 02.07. 链表相交

热门文章

  1. qdialog 圆角_重载QDialog开发自定义样式圆角边框和按钮的提示框
  2. 浏览器默认样式有哪些,如何覆盖
  3. 职称计算机考试在线答题,职称计算机考试答题技巧解析
  4. Win系统电脑无法连接iPhone热点问题的检测流程
  5. win7下使用virtual pc 安装xp虚拟机
  6. Linux创建空目录
  7. jQuery实现添加删除
  8. 管理员已阻止你运行此应用mmc.exe
  9. Python爬虫:二十行代码获取某知名网站高质量视频,带视频讲解
  10. 如何制作一个自己的IP代理池