【JAVA】JDBC(Java数据库链接技术)
2016-08-12 11:43
281 查看
JDBC是什么?
JDBC的全称是java数据库链接(Java DataBase Connectivity)技术的简称,由一组Java语言编写的类和接口组成,可以为多种关系数据库提供统一访问。
JDBC的工作原理
1、JDBC API
JDBC API由Sun公司提供,提供了Java应用程序与各种不同数据库交互的标准接口,如Connection(连接)接口、Statement接口、ResultSet(结果集)接口、PrepareStatement接口等。开发者使用这些JDBC接口进行各类数据库操作。
2、JDBC Driver Manager由Sum公司提供,它负责管理各种不同的JDBC驱动,位于JDK的Java.sql包中。
3、JDBC驱动由各个数据库厂商或第三方中间件厂商提供,负责连接各种不同的数据库。如上图。
JDBC API介绍
JDBC API主要做3件事:与数据库建立连接、发送SQL语句、处理结果。
1、DriverManager类:依据数据库的不同,管理相应的JDBC驱动。
2、Connection接口:负责连接数据库并担任传送数据任务。
3、Statement接口:由Connection产生,负责执行SQL语句。
4、ResultSet接口:负责保存和处理Statement执行后所产生的查询结果。
5、PreparedStatement接口:Statement的子接口,也由Connection产生,同样负责执行SQL语句。与Statement相比,具有高安全性、高性能、高可读行和高可维护性的优点。
JDBC访问数据库的步骤
Connection接口:
在实际的应用当中,有两种较为常用的驱动方法。第一种是JDBC-ODBC桥连方式(暂不学习),另一种是纯Java驱动方式(本章学习内容)。
Java纯驱动方式优点:运行速度快、具备夸平台特点。缺点:只能由数据库厂商自己提供,这类JDBC驱动只对应某一种数据库。
ResultSet的常用方法:
boolean next() 将光标从当前位置向下移动一行
boolean pervious() 将光标从当前位置向上移动一行
int getRow() 得到光标当前所指行的行号
boolean absolute(int row) 将光标移动到row指定的行
JDBC的全称是java数据库链接(Java DataBase Connectivity)技术的简称,由一组Java语言编写的类和接口组成,可以为多种关系数据库提供统一访问。
JDBC的工作原理
1、JDBC API
JDBC API由Sun公司提供,提供了Java应用程序与各种不同数据库交互的标准接口,如Connection(连接)接口、Statement接口、ResultSet(结果集)接口、PrepareStatement接口等。开发者使用这些JDBC接口进行各类数据库操作。
2、JDBC Driver Manager由Sum公司提供,它负责管理各种不同的JDBC驱动,位于JDK的Java.sql包中。
3、JDBC驱动由各个数据库厂商或第三方中间件厂商提供,负责连接各种不同的数据库。如上图。
JDBC API介绍
JDBC API主要做3件事:与数据库建立连接、发送SQL语句、处理结果。
1、DriverManager类:依据数据库的不同,管理相应的JDBC驱动。
2、Connection接口:负责连接数据库并担任传送数据任务。
3、Statement接口:由Connection产生,负责执行SQL语句。
4、ResultSet接口:负责保存和处理Statement执行后所产生的查询结果。
5、PreparedStatement接口:Statement的子接口,也由Connection产生,同样负责执行SQL语句。与Statement相比,具有高安全性、高性能、高可读行和高可维护性的优点。
JDBC访问数据库的步骤
//示例讲解: //1、加载JDBC驱动 Connection conn = null; Statement sta = null; PerparedStatement ps = null; ResultSrt rs = null; try{ //1、加载JDBC驱动 Class.forName("JDBC驱动类的名称"); //示例:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//SQL Server数据库驱动 //2、与数据库建立连接 conn = DreverManager.getConnection("数据连接字符串,数据库用户名,密码"); 示例:conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=epet","sa","sa123456"); //3、发送SQL语句,并得到返回结果 //采用Statement接口 sta = conn.createStatement(); //创建执行对象,不需要传递参数 rs = sta .executerQuery("SQL语句"); //采用PreparedStatement接口 ps = conn.createStatement("SQL语句"); //创建执行对象,以SQL语句作为参数 rs = ps.executerQuery(); //两者区别: /* 提高了SQL语句执行的性能。 创建Statement对象时不试用SQL语句做参数,不会解析和编译SQL语句,每次调用方法执行SQL语句时都要进行SQL语句解析和编译操作,即操作相同仅仅是数据不同。 创建PreparedStatement对象时使用SQL语句作为参数,会解析和编译该SQL语句。也可以使用带占位符的SQL语句做参数,在通过getXxx()方法给占位符赋值后执行SQL语句时无须再解析SQL语句,直接执行即可。多次执行相同操作可以大大提高性能。 提高了安全性: PreparedStatement使用预编译语句,传入的任何数据都不会和已经编译的SQL语句进行拼接,避免了SQL注入攻击。 */ //4、处理返回结果 while(rs.next()){ int i = rs.getInt("Id"); //根据字段获取值 String s = rsgetString(2); //根据字段的位置获取值 } //以上是使用JDBC的四个基本步骤。 }catch(Exception e){ //此处不需要异常提示 }finally{ /* 关闭连接,要先按ResultSet结果集、后PreparedStatement、最后Connection的顺序关闭资源,因为ResultSet是通过Statement执行SQL命令得到的,而Statement是需要创建连接后才可以使用的,所以三者之间存在相互依存的关系。 如果用户不关闭ResultSet,当Statement关闭、重新执行或用于从多结果序列中获取下一个结果时,ResultSet将被自动关闭。 */ if(rs!=null){ rs.Close(); }finally{ } if(ps!=null){ ps.Close(); }finally{ } if(conn!=null){ conn.Close(); }finally{ } }
Connection接口:
在实际的应用当中,有两种较为常用的驱动方法。第一种是JDBC-ODBC桥连方式(暂不学习),另一种是纯Java驱动方式(本章学习内容)。
Java纯驱动方式优点:运行速度快、具备夸平台特点。缺点:只能由数据库厂商自己提供,这类JDBC驱动只对应某一种数据库。
ResultSet的常用方法:
boolean next() 将光标从当前位置向下移动一行
boolean pervious() 将光标从当前位置向上移动一行
int getRow() 得到光标当前所指行的行号
boolean absolute(int row) 将光标移动到row指定的行
完!
相关文章推荐
- 简述java jdbc技术链接数据库
- Java的数据库连接编程(JDBC)技术
- Java的数据库连接编程(JDBC)技术
- java与数据库连接的jdbc技术
- Java 项目JDBC 链接数据库中会出现的错误
- java通过jdbc链接数据库
- Java jdbc 链接数据库MYSQL问题
- JAVA JDBC链接查询oracle 数据库的小例程
- Java JDBC数据库链接
- 完整java开发中JDBC链接数据库代码和步骤
- Java的数据库连接编程(JDBC)技术
- DB2数据库、触发器、存储过程、JAVA数据库链接(JDBC)、调用层接口(CLI)
- [Java] JDBC_ODBC 链接 Excle 数据库
- java.jee--jsp--jdbc链接数据库,展示数据
- java基础教程-JDBC数据库访问技术
- Java连接数据库技术JDBC
- java中jdbc链接数据库大全
- Java的数据库连接编程(JDBC)技术
- Java通过JDBC链接数据库,数据库中wen
- java解析配置文件config.propertie 使用JDBC链接数据库