美文网首页
面试试讲内容(Mysql之JDBC)

面试试讲内容(Mysql之JDBC)

作者: 辉说区块链 | 来源:发表于2019-06-07 23:43 被阅读0次

写在前边

上一周,自己做了一个决定:准备换份工作。换工作的原因是:目前的工作收入难以支持接下来即将到来的房子月供。出于这个原因,自己开始联系公司,准备面试、试讲。是的,我又考虑回到之前的行业(培训讲师),因为当下来看收入会稍高些。
其实,还有另外一个原因,就是自己有想往培训区块链的方向发展,而这家公司正好有这样的机会,所以就有了下文的试讲内容。

声明听课对象

因为之前自己带过学生,所以今天的课程我就以学生为对象进行讲解。

一,课前回顾

1,存储数据的方式?

之前我们已经学过Java基础课程,也学习了数据库,那我问大家一个问题:到目前为止,我们知道的存储数据的方式都有哪些呢?是的,我们存储一个数的时候可以用变量;我们存储有限个同一种类型的数据时用数组;我们存储未知个数的数据时可以使用集合;当然,我们也可以使用IO来将数据存储到文件中;其实,我们用的最多的是将数据存储到数据库中。
什么是计算机程序?数据结构(数据库来实现)+算法(Java来实现)!

2,数据库的作用是什么呢?
  • 存储数据;(即往数据库中存储数据、从数据库中取数据)
  • 操作数据,包括增删改查;
3,操作数据的SQL语句

增:insert into 表名[(字段1,字段2,字段3.....)] values(值1,值2,值3.....);
删: delete from 表名 where 限定条件;
改:update 表名 set 字段名 = 值;
查:select * from 表名 where 条件;

二,内容讲解

1,概念讲解

什么是JDBC呢?
Java Database Connectivity:Java连接数据库!其实它就是Java访问数据库的解决方案。

JDBC定义一套标准“接口”,即访问数据库的通用API,不同的数据库厂商根据各自数据库的特点去实现这些接口。
这套接口学完了,Oracle、Mysql、SQLServer等都会用了。

JDBC中具体实现这一套接口的类我们称之为驱动。而这一套驱动是具体的厂商提供的。

2,JDBC的工作原理

[图片上传失败...(image-f970fa-1559922169775)]

3,JDBC的操作步骤
第一步,加载驱动;

1,为什么加载驱动?
因为我们上边说了,JDBC定义了一套接口,而接口的实现类就是驱动,所以我们第一步应该先加载驱动。
其实就是把驱动或者说把那些关于JDBC的实现类加载到Java中, 让Java能够认识这些类,以备后边使用。
这里的驱动是由厂商提供的,是一个jar文件,所以在这里我们就需要在eclipse中 引入第三方jar包。
2,如何加载驱动?
Class.forName("com.mysql.jdbc.Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");

成功加载后,会将Driver类的实例注册到DriverManager类中。

第二步,建立连接;

1,为什么要建立连接?
让Java与数据库进行连接,即让Java能够访问到要操作的数据库。
要想访问到数据库,需要知道什么呢?
数据库名称、用户名、 密码!
光知道这些可以吗?不行,还需要知道是哪个设备上的数据库!那么怎么才能定位到某一台设备上的数据库呢?
电脑IP、数据库端口号。
2,如何建立连接?
Conncetion conn = DriverManager.getConnection(url,username,password)
连接URL定义了连接数据库时的协议、子协议、数据源标识。
书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
String url = "jdbc:mysql://localhost:3306/数据库名称"
String url = "jdbc:oracle:thin:@127.0.0.1:1521:数据库名";

第三步,创建语句对象;

1,什么是语句对象?
要执行SQL语句,必须获得java.sql.Statement实例
Statement实例分为以下2 种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
语句对象就是Statement的实例!
2,为什么要创建语句对象?
连接好数据库之后,我们就需要通过Java语言来执行SQL语句,在Java里 万物皆对象,所以我们需要创建Statement对象。
3,如何创建语句对象?
Statement stmt = conn.createStatement();

第四步,执行SQL语句;

如何执行SQL语句呢?
执行SQL语句就需要使用到Sattement中的方法了。
该接口有三个非常重要的方法:
execute(sql); (返回值为boolean)
它可以执行任何sql语句,但是我们一般用它来执行DDL语句(数据定义语句,create/alter/drop)
executeQuery(sql);
用于DQL语句(selete语句),它会产生结果集(ResultSet)
executeUpdate(sql);
用于DML语句(insert/update/delete)
使用Statement接口中的三个非常重要的方法之一;但是前提是我们需要先写一个SQL语句;根据我们写的SQL语句来决定使用那个执行语句。
String sql = "insert into 表名(字段名) values(值)";

第五步,处理结果集;

execute(ddl); 如果没有异常;返回false则表示没有结果集。
executeUpdate(dml); 返回数字,表示更新“行”数量,抛出异常则失败。
executeQuery(dql); 返回一个结果集ResultSet对象,所有查询的结果都封装在该对象中。可以使用for循环遍历处理。

ResultSet的使用:

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
next(); 获取当前位置的值。

第六步,关闭连接。

为什么要关闭连接?
关闭连接,释放资源
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源!
关闭顺序和声明顺序相反:
1、关闭记录集
2、关闭语句对象
3、关闭连接对象
如何关闭连接?
conn.close();

2,案例讲解
3,总结

1,六个步骤如何记忆呢?

驱动 连接 语句 ;
执行 处理 关闭!

2,注意事项:

一定要关闭连接!并且注意关闭资源的顺序!

写在最后

准备的内容还没有讲完,就被叫停了。结果是:顺利通过了试讲环节,并且薪资待遇也都不错。

相关文章

网友评论

      本文标题:面试试讲内容(Mysql之JDBC)

      本文链接:https://www.haomeiwen.com/subject/sglbxctx.html