1.jdbc简介
JDBC(java database connectivity,java数据库连接)是一种用于执行SQL语句的java API。是一种
用于sql执行的解决方案。它由java语言编写的类和接口组成。
1.1应用程序如何与数据库进行沟通?
数据库本身是一个独立运行的应用程序,而web应用程序是利用网络通信协议与数据库进行命令交换
以进行数据的增删改查。
1.2在没有jdbc以前
这个过程是间接完成的。应用程序通过利用一组专门与数据库进行通信协议的程序库,其实也就是
一套数据库厂商提供的AP来完成与数据库的交互。
缺点:1.这对java程序员来说不易于代码的维护,一旦数据库厂商修改了数据库连接的API,java程序
员就得修改应用程序代码。 2.数据库厂商的程序库底层是与操作系统相关的,应用程序在其他操作系统
上运行,就得考虑,是否有该种平台的数据库的程序库。
而JDBC的出现就是为了解决应用程序跨平台的。
1.3JDBC出现后
JDBC标准分为:JDBC应用程序开发者接口和JDBC驱动程序开发者接口。
应用程序要连接数据库就调用JDBC开发者接口:java.sql和javax.sql两个包。
数据库厂商要实现的规范则是:JDBC驱动程序开发者接口
*JDBC驱动程序是干嘛的?
这个java编写的程序是用来与数据库进行通信协议,但它是由数据库厂商编写的。也就是应用程序中
编写的sql语句,都会交到这个驱动程序这里,由驱动程序转发给数据库。进而实现应用程序操作数据库。
*JDBC开发者接口:Driver接口 DriverManager接口
statement接口 PrepareStatement接口 ResultSet接口
Connection接口 SQLException接口
*写一个java程序,操作所有的数据库
厂商在实现JDBC驱动程序时,按方式将驱动程序分为4种类型
2.连接数据库
--注册Driver实现对象(将要使用的数据库注册到驱动管理器那里)
--取得Connection实现对象
--关闭Connection实现对象
2.1注册驱动程序对象
com.mysql.jdbc.Driver类实现了java.sql.Driver接口
管理Driver实现对象的是java.sql.DriverManager
DriverManager.registerDriver(new com.mysql.jdbc.Driver());//一般很少像这样自行编写代码进行这个操作
Class.forName("com.mysql.jdbc.Driver");//只要想办法加载Driver接口的实现类的.class文件。
forName(类的完全限定名)获取参数所指定类的class对象
Driver的源码是通过Static块实现驱动的注册,而static块会在加载驱动的.class文件时执行。
加载.class文件的方法有四种:
1.使用Class.forName();
2.自行创建Driver接口实现类的实例
3.启动jvm时指定jdbc.drivers属性
4.设置jar中,/services/java.sql.Driver().
创建对象,基本上就要加载.class文件,通过读取类的.class文件创建对象。自然也就会
运行类的静态区完成驱动程序注册。
2.2取得Connection实现对象
Connection接口的实现对象,是数据库连接代表对象。
DriverManager.getConnection(jdbcurl,username,password);//通过向驱动管理器传递url,用户名和密码取得实现连接
jdbcUrl组成: "协议:子协议:数据源标识"
jdbc:mysql://主机名称:连接端口/数据库名称?参数=值&参数=值
3.测试数据库是否连接
JDBC(java database connectivity,java数据库连接)是一种用于执行SQL语句的java API。是一种
用于sql执行的解决方案。它由java语言编写的类和接口组成。
1.1应用程序如何与数据库进行沟通?
数据库本身是一个独立运行的应用程序,而web应用程序是利用网络通信协议与数据库进行命令交换
以进行数据的增删改查。
1.2在没有jdbc以前
这个过程是间接完成的。应用程序通过利用一组专门与数据库进行通信协议的程序库,其实也就是
一套数据库厂商提供的AP来完成与数据库的交互。
缺点:1.这对java程序员来说不易于代码的维护,一旦数据库厂商修改了数据库连接的API,java程序
员就得修改应用程序代码。 2.数据库厂商的程序库底层是与操作系统相关的,应用程序在其他操作系统
上运行,就得考虑,是否有该种平台的数据库的程序库。
而JDBC的出现就是为了解决应用程序跨平台的。
1.3JDBC出现后
JDBC标准分为:JDBC应用程序开发者接口和JDBC驱动程序开发者接口。
应用程序要连接数据库就调用JDBC开发者接口:java.sql和javax.sql两个包。
数据库厂商要实现的规范则是:JDBC驱动程序开发者接口
*JDBC驱动程序是干嘛的?
这个java编写的程序是用来与数据库进行通信协议,但它是由数据库厂商编写的。也就是应用程序中
编写的sql语句,都会交到这个驱动程序这里,由驱动程序转发给数据库。进而实现应用程序操作数据库。
*JDBC开发者接口:Driver接口 DriverManager接口
statement接口 PrepareStatement接口 ResultSet接口
Connection接口 SQLException接口
*写一个java程序,操作所有的数据库
厂商在实现JDBC驱动程序时,按方式将驱动程序分为4种类型
2.连接数据库
--注册Driver实现对象(将要使用的数据库注册到驱动管理器那里)
--取得Connection实现对象
--关闭Connection实现对象
2.1注册驱动程序对象
com.mysql.jdbc.Driver类实现了java.sql.Driver接口
管理Driver实现对象的是java.sql.DriverManager
DriverManager.registerDriver(new com.mysql.jdbc.Driver());//一般很少像这样自行编写代码进行这个操作
Class.forName("com.mysql.jdbc.Driver");//只要想办法加载Driver接口的实现类的.class文件。
forName(类的完全限定名)获取参数所指定类的class对象
Driver的源码是通过Static块实现驱动的注册,而static块会在加载驱动的.class文件时执行。
加载.class文件的方法有四种:
1.使用Class.forName();
2.自行创建Driver接口实现类的实例
3.启动jvm时指定jdbc.drivers属性
4.设置jar中,/services/java.sql.Driver().
创建对象,基本上就要加载.class文件,通过读取类的.class文件创建对象。自然也就会
运行类的静态区完成驱动程序注册。
2.2取得Connection实现对象
Connection接口的实现对象,是数据库连接代表对象。
DriverManager.getConnection(jdbcurl,username,password);//通过向驱动管理器传递url,用户名和密码取得实现连接
jdbcUrl组成: "协议:子协议:数据源标识"
jdbc:mysql://主机名称:连接端口/数据库名称?参数=值&参数=值
3.测试数据库是否连接