一.JDBC是什么?
JDBC是商标,是技术,是规范,是标准,具体点是类和接口的集合。
JDBC是SUN公司的商标;但我们一般会把JDBC称为Java DataBase Connectivity,是使用Java程序连接数据库执行SQL语句的技术(或规范);若认为是规范,则可以具体点说是一些类和接口的集合。
二.JDBC规范
1.ODBC,OLEDB,ADO
ODBC全称Open DataBase Connectivity(开放数据库连接),是微软制定的应用程序连接数据库执行SQL语句的规范,标准。后来微软将这些规范进行了补充升级,命名为OLEDB。而ADO则是规范的一个实现。
2.JDBC规范
Java出现后,要使用Java连接数据库执行SQL语句,SUN公司有两个选择:①使用微软的ODBC规范;②开发自己新的规范。SUN选择了后者。
所以,JDBC出现了,JDBC是SUN公司制定的一套用于Java连接数据库执行SQL语句的规范,标准。而JDBC与ODBC有个非常重要的不同点:JDBC并没有提供连接各个数据库的实现,需要由各大厂商自行去完成。
3.三方关系
三方:规范制定者,规范实现者,规范使用者。
规范制定者:SUN。制定了一些得到连接,执行SQL的规范,也就是一些接口的集合,如Connectivity接口表示连接对象。
规范实现者:各个数据库厂商,他们学习规范,也就是实现规范接口中定义的所有功能,这些实现类一般打成一个jar包。
规范使用者:应用程序员。学习各个接口及方法含义。从各个数据库厂商官网下载jar包连接数据库使用。
4.操作
(1)获得对应程序的驱动程序jar包
(2)给项目添加jar包:①直接添加;②在项目建立文件夹放入。
(3)加载驱动程序:通过Driver接口连接数据库的驱动程序类和Class.forName的使用。(forName方法会抛出一个编译时异常,必须处理)
(4)得到连接:通过DriverManager.getConnection(url,uname,pwd) 方法获得试图建立到指定数据库 URL 的连接;URL全称Uniform Resource Locator,既统一资源定位器,使用方法:IP+Port +dbName(ip既ip地址;Port为端口号,sqlserver 为 1433,mysql 为 3306,oracle 为 1521,我们连接哪个数据库,通过端口号来决定;dbName为数据库名称)
(5)创立Statement对象:Statement sta = con.createStatement();
(6)执行sql语句:Statement 提供了两个方法 executeUpdate(sql)与 executeQuery(sql)负责,前者 executeUpdate(sql)用来执行 insert,update,delete 语句,后者执行 select 语句。
(7)关闭资源:因为 Statement,Connection 都是大对象,最后我们使用完要关闭它以释放资源,并且 我们知道 finally 块不管有没有异常发生都是最后执行,并且一定执行,正好关闭我们的资源。