一、JDBC原理概述
1,JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,
并规定了JAVA开发人员访问数据库所使用的方法的掉用规范。
2,JDBC的实现是由数据库厂商提供,以驱动程序形式提供。
3,JDBC在使用前要先加载驱动。
JDBC对于使用者要有一致性,对不同的数据库其使用方法都是相同的。
4、driver开发必须要实现Driver接口。
JDBC驱动程序的类型
目前比较常见的JDBC驱动程序可分为以下四个种类:
(1)JDBC-ODBC桥加ODBC驱动程序
JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。
注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。
因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。
(2)本地API
这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。
注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。
(3)JDBC网络纯Java驱动程序
这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。
这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。
通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。
为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。
几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。
(4)本地协议纯Java驱动程序
这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。
这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。
由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。
据专家预计第(3)、(4)类驱动程序将成为从JDBC访问数据库的首方法。
第(1)、(2)类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。
对第(1)、(2)类驱动程序可能会有一些变种,这些变种要求有连接器,但通常这些是更加不可取的解决方案。
第(3)、(4)类驱动程序提供了Java的所有优点,包括自动安装(例如,通过使用JDBC驱动程序的appletapplet来下载该驱动程序)。
5、JDBC的API
java.sql包和javax.sql包
DriverManager类(驱动管理器),它可以创建连接,它本身就是一个创建Connection的工厂(Factory)。
Driver接口 入口
Connection接口,会根据不同的驱动产生不同的连接
Statement接口,发送sql语句
ResultSet接口(结果集),是用来接收select语句返回的查寻结果的。其实质类似于集合。
以上的资源都需要释放,释放的是数据库的资源
JDBC应用步骤
1,注册加载一个driver驱动
2,创建数据库连接(Connection)
3,创建一个Statement(发送sql)
4,执行sql语句
5,处理sql结果(select语句)
6,关闭Statement
7,关闭连接Connection。
注意:6,7两个步骤势必须要做的,因为这些资源是不会自动释放的,必须要自己关闭
访问Oracle的数据库的驱动名字叫o加到环境变量PATH中。
jdbc14.jar,这个jar文件中出访的驱动程序的.class文件
要使用这个驱动程序,要先将他
一,注册加载驱动driver,也就是强制类加载
1、Class.forName(driver);
driver = "oracle.jdbc.driver.OracleDriver";
2、Driver d=new Driver类();
Driver d = new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver(d);
3、编译时利用虚拟机的系统属性
java -Djdbc.drivers=oracle.jdbc.driver.OracleDriver 类名(文件)
Oracle的Driver的全名oracle.jdbc.driver.OracleDriver
mysql的Driver的全名com.mysql.jdbc.Driver
SQLServer的Driver的全名com.microsoft.jdbc.sqlserver.SQLServerDriver
二,创建连接
DriverManager.getConnection(String url,String username,String password);
Connection连接是通过DriverManager的静态方法getConnection(.....)来得到的,这个方法的实质是把参数传到实际的Driver中的connect()方法中来获得数据库连接的。
Oracle的URL值是由连接数据库的协议和数据库的IP地址及端口号还有要连接的库名(DatebaseName)
Oracle URL的格式
jdbc:oracle:thin:(协议)@XXX.XXX.X.XXX:XXXX(IP地址及端口号):XXXXXXX(所使用的库名)
例:jdbc:oracle:thin:@192.168.0.39:1521:TARENADB
MySql URL的写法
例: jdbc:mysql://192.168.8.21:3306/test
SQLServer URL的写法
例:jdbc:microsoft:sqlserver://192.168.8.21:1433
java -Djdbc.drivers=驱动全名 类名
使用系统属性名,加载驱动 -D表示为系统属性赋值
使用Connection对象获得一个Statement,Statement中的executeQuery(String sql) 方法可以使用select语句查询,并且返回一个结果集 ResultSet通过遍历这个结果集,
可以获得select语句的查寻结果,ResultSet的next()方法会操作一个游标从第一条记录的前边开始读取,直到最后一条记录。
executeUpdate(String sql) 方法用于执行DDL和DML语句,可以update,delete操作。
注意:要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,
所以在使用结束之后有可能起他的Statement还需要连接,所以不能现关闭Connection。
分享到:
相关推荐
1.后端开发技术:servlet+jdbc 2.前端技术:jsp 3.前端ui:经典蓝色ui 4.功能点描述: (1)学生 查看个人信息、查看个人的晚归记录、填写请假单、查看请假的审核情况 (2)宿管员(有待完善) 基础信息管理、查看个人信息...
此外,为了数据持久化,可能采用了关系型数据库,如MySQL,配合JDBC(Java Database Connectivity)进行数据库操作,保证数据的安全存储和高效检索。同时,系统可能应用了MVC(Model-View-Controller)设计模式,将...
Java认证是全球认可的Java程序员技能评估标准,2009年的Java认证辅导资料涵盖了当时最新的Java技术,旨在帮助考生顺利通过考试并提升其Java编程能力。这些资料可能包括了Oracle Certified Associate (OCA), Oracle ...
**4.1 JDBC资料辅导(1)** - **JDBC驱动**: 不同类型的JDBC驱动及其特点。 - **建立连接**: 如何使用DriverManager获取数据库连接。 - **执行SQL**: PreparedStatement和CallableStatement的使用。 **4.2 JDBC...
### IBM DB2 全球认证考试辅导资料知识点详解 #### 一、IBM DB2全球认证考试辅导资料概览 IBM DB2全球认证考试辅导资料旨在帮助考生全面掌握DB2的相关知识和技术,顺利通过DB2全球认证考试。此资料侧重于实践操作...
系统基于Browser/Server模式开发,应用DreamweaverMX软件,结合JSP编程技术,并以SQLServer为数据库开发工具,在Windowsxp系统中使用JDBC驱动程序进行数据库连接。论文主要阐述的是机动车驾驶员考试辅导系统的操作...
7. **CoreJava辅导资料.zip**:这可能包含Java语言的基础教程或参考资料,包括类、对象、接口、异常处理、集合框架等内容,这些都是JavaWeb开发的基础。 8. **javaWeb基础技术辅导.zip**:这个文件很可能包含了详细...
使用JDBC链接MySQL数据库,实现登录注册功能,以及对信息增删改查。...项目技术:在Java开发环境下,Eclipse编写和MVC框架搭建,前端使用JSP、Layui和Json对象实现,通过JDBC链接数据库,运行在Tomcat服务器上。
1:查看网站流程:查看与网站有关的流程信息,及相关的新闻公告。 2:发布网站留言信息:根据系统提示,发布网站的留言信息。 3:查看已发布的信息:以列表的形式查看已发布信息。 4:发布威客在线信息:根据系统...
1. **Java Web技术**:Java Web是Java在Web开发中的应用,它包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)等组件。Servlet用于处理服务器端的请求,JSP则侧重于视图展示,...
开发人员会编写SQL语句,通过JDBC连接到数据库,执行CRUD(创建、读取、更新、删除)操作,以管理辅导员、学生和课程数据。 4. **Model-View-Controller(MVC)设计模式** MVC模式是JavaEE开发中常用的设计模式,...
3. **数据库连接**:通常使用JDBC(Java Database Connectivity)来实现数据库的连接、查询、插入等操作。在系统中,需要考虑事务管理、连接池等优化手段,以提高性能和资源利用率。 4. **会话管理**:为了保持用户...
4. 心理资源:收集各类心理辅导资料,如文章、音频、视频等,供师生学习和参考。 5. 辅导记录:记录每次心理咨询的过程,包括咨询主题、内容摘要、建议等,便于跟踪学生心理状态的变化。 6. 通知公告:发布学校...
1. **Java SpringBoot**:SpringBoot是由Pivotal团队提供的全新框架,用于简化Spring应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如数据源、JPA、WebSocket等,开发者可以快速地创建一个独立...
它允许开发者编写自定义的SQL,避免了过多的JDBC代码,使得数据库操作更为简便。MyBatis与Spring的集成使得事务管理变得更加轻松,同时也支持动态SQL,提高了查询的灵活性。 JavaWeb技术是构建Web应用程序的基础,...
1. **Spring框架**:Spring作为核心容器,负责管理对象的生命周期和依赖关系。通过IoC(控制反转)和AOP(面向切面编程)特性,Spring提供了松耦合的组件模型,简化了系统的构建和维护。 2. **SpringMVC框架**:...
辅导员 账户:admin4 密码:9898 已经注册学生 账户:999 密码:999 未注册学生 (在注册页面下面这几个参数要对应上,否则不是当前学院的学生,无法注册) 姓名:学生1 通知书编号:19198 姓名:学生2 通知书编号:...
通过这个项目,学习者不仅可以深入理解Java Web开发的基本原理,还能掌握数据库设计与管理、Web应用的部署与运行,同时,辅导视频和相关资料将进一步巩固和扩展理论知识,提高实际动手能力。无论是对于Java初学者...