您的位置:首页 > 大数据

JDBC入门及JDBC的基本操作&&大数据处理

2020-08-10 11:58 836 查看

JDBC入门及JDBC的基本操作&&大数据处理

JDBC概述

什么是JDBC

  • JDBC全称是Java数据库连接,它是用一套用于执行SQL的Java API。应用程序可以通过这套API连接到关联数据库,并使用SQL语句对数据库中数据进行查询、更新和删除等操作。
#mermaid-svg-D7to6AbvmVo5NBks .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-D7to6AbvmVo5NBks .label text{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .node rect,#mermaid-svg-D7to6AbvmVo5NBks .node circle,#mermaid-svg-D7to6AbvmVo5NBks .node ellipse,#mermaid-svg-D7to6AbvmVo5NBks .node polygon,#mermaid-svg-D7to6AbvmVo5NBks .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-D7to6AbvmVo5NBks .node .label{text-align:center;fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .node.clickable{cursor:pointer}#mermaid-svg-D7to6AbvmVo5NBks .arrowheadPath{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-D7to6AbvmVo5NBks .flowchart-link{stroke:#333;fill:none}#mermaid-svg-D7to6AbvmVo5NBks .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-D7to6AbvmVo5NBks .edgeLabel rect{opacity:0.9}#mermaid-svg-D7to6AbvmVo5NBks .edgeLabel span{color:#333}#mermaid-svg-D7to6AbvmVo5NBks .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-D7to6AbvmVo5NBks .cluster text{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-D7to6AbvmVo5NBks .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-D7to6AbvmVo5NBks text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-D7to6AbvmVo5NBks .actor-line{stroke:grey}#mermaid-svg-D7to6AbvmVo5NBks .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-D7to6AbvmVo5NBks .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-D7to6AbvmVo5NBks #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-D7to6AbvmVo5NBks .sequenceNumber{fill:#fff}#mermaid-svg-D7to6AbvmVo5NBks #sequencenumber{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks #crosshead path{fill:#333;stroke:#333}#mermaid-svg-D7to6AbvmVo5NBks .messageText{fill:#333;stroke:#333}#mermaid-svg-D7to6AbvmVo5NBks .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-D7to6AbvmVo5NBks .labelText,#mermaid-svg-D7to6AbvmVo5NBks .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-D7to6AbvmVo5NBks .loopText,#mermaid-svg-D7to6AbvmVo5NBks .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-D7to6AbvmVo5NBks .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-D7to6AbvmVo5NBks .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-D7to6AbvmVo5NBks .noteText,#mermaid-svg-D7to6AbvmVo5NBks .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-D7to6AbvmVo5NBks .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-D7to6AbvmVo5NBks .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-D7to6AbvmVo5NBks .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-D7to6AbvmVo5NBks .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks .section{stroke:none;opacity:0.2}#mermaid-svg-D7to6AbvmVo5NBks .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-D7to6AbvmVo5NBks .section2{fill:#fff400}#mermaid-svg-D7to6AbvmVo5NBks .section1,#mermaid-svg-D7to6AbvmVo5NBks .section3{fill:#fff;opacity:0.2}#mermaid-svg-D7to6AbvmVo5NBks .sectionTitle0{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .sectionTitle1{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .sectionTitle2{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .sectionTitle3{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-D7to6AbvmVo5NBks .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks .grid path{stroke-width:0}#mermaid-svg-D7to6AbvmVo5NBks .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-D7to6AbvmVo5NBks .task{stroke-width:2}#mermaid-svg-D7to6AbvmVo5NBks .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks .taskText:not([font-size]){font-size:11px}#mermaid-svg-D7to6AbvmVo5NBks .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-D7to6AbvmVo5NBks .task.clickable{cursor:pointer}#mermaid-svg-D7to6AbvmVo5NBks .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-D7to6AbvmVo5NBks .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-D7to6AbvmVo5NBks .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-D7to6AbvmVo5NBks .taskText0,#mermaid-svg-D7to6AbvmVo5NBks .taskText1,#mermaid-svg-D7to6AbvmVo5NBks .taskText2,#mermaid-svg-D7to6AbvmVo5NBks .taskText3{fill:#fff}#mermaid-svg-D7to6AbvmVo5NBks .task0,#mermaid-svg-D7to6AbvmVo5NBks .task1,#mermaid-svg-D7to6AbvmVo5NBks .task2,#mermaid-svg-D7to6AbvmVo5NBks .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-D7to6AbvmVo5NBks .taskTextOutside0,#mermaid-svg-D7to6AbvmVo5NBks .taskTextOutside2{fill:#000}#mermaid-svg-D7to6AbvmVo5NBks .taskTextOutside1,#mermaid-svg-D7to6AbvmVo5NBks .taskTextOutside3{fill:#000}#mermaid-svg-D7to6AbvmVo5NBks .active0,#mermaid-svg-D7to6AbvmVo5NBks .active1,#mermaid-svg-D7to6AbvmVo5NBks .active2,#mermaid-svg-D7to6AbvmVo5NBks .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-D7to6AbvmVo5NBks .activeText0,#mermaid-svg-D7to6AbvmVo5NBks .activeText1,#mermaid-svg-D7to6AbvmVo5NBks .activeText2,#mermaid-svg-D7to6AbvmVo5NBks .activeText3{fill:#000 !important}#mermaid-svg-D7to6AbvmVo5NBks .done0,#mermaid-svg-D7to6AbvmVo5NBks .done1,#mermaid-svg-D7to6AbvmVo5NBks .done2,#mermaid-svg-D7to6AbvmVo5NBks .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-D7to6AbvmVo5NBks .doneText0,#mermaid-svg-D7to6AbvmVo5NBks .doneText1,#mermaid-svg-D7to6AbvmVo5NBks .doneText2,#mermaid-svg-D7to6AbvmVo5NBks .doneText3{fill:#000 !important}#mermaid-svg-D7to6AbvmVo5NBks .crit0,#mermaid-svg-D7to6AbvmVo5NBks .crit1,#mermaid-svg-D7to6AbvmVo5NBks .crit2,#mermaid-svg-D7to6AbvmVo5NBks .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-D7to6AbvmVo5NBks .activeCrit0,#mermaid-svg-D7to6AbvmVo5NBks .activeCrit1,#mermaid-svg-D7to6AbvmVo5NBks .activeCrit2,#mermaid-svg-D7to6AbvmVo5NBks .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-D7to6AbvmVo5NBks .doneCrit0,#mermaid-svg-D7to6AbvmVo5NBks .doneCrit1,#mermaid-svg-D7to6AbvmVo5NBks .doneCrit2,#mermaid-svg-D7to6AbvmVo5NBks .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-D7to6AbvmVo5NBks .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-D7to6AbvmVo5NBks .milestoneText{font-style:italic}#mermaid-svg-D7to6AbvmVo5NBks .doneCritText0,#mermaid-svg-D7to6AbvmVo5NBks .doneCritText1,#mermaid-svg-D7to6AbvmVo5NBks .doneCritText2,#mermaid-svg-D7to6AbvmVo5NBks .doneCritText3{fill:#000 !important}#mermaid-svg-D7to6AbvmVo5NBks .activeCritText0,#mermaid-svg-D7to6AbvmVo5NBks .activeCritText1,#mermaid-svg-D7to6AbvmVo5NBks .activeCritText2,#mermaid-svg-D7to6AbvmVo5NBks .activeCritText3{fill:#000 !important}#mermaid-svg-D7to6AbvmVo5NBks .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-D7to6AbvmVo5NBks g.classGroup text .title{font-weight:bolder}#mermaid-svg-D7to6AbvmVo5NBks g.clickable{cursor:pointer}#mermaid-svg-D7to6AbvmVo5NBks g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-D7to6AbvmVo5NBks g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-D7to6AbvmVo5NBks .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-D7to6AbvmVo5NBks .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-D7to6AbvmVo5NBks .dashed-line{stroke-dasharray:3}#mermaid-svg-D7to6AbvmVo5NBks #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks .commit-id,#mermaid-svg-D7to6AbvmVo5NBks .commit-msg,#mermaid-svg-D7to6AbvmVo5NBks .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-D7to6AbvmVo5NBks g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-D7to6AbvmVo5NBks g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-D7to6AbvmVo5NBks g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-D7to6AbvmVo5NBks .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-D7to6AbvmVo5NBks .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-D7to6AbvmVo5NBks .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-D7to6AbvmVo5NBks .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-D7to6AbvmVo5NBks .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-D7to6AbvmVo5NBks .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-D7to6AbvmVo5NBks .edgeLabel text{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-D7to6AbvmVo5NBks .node circle.state-start{fill:black;stroke:black}#mermaid-svg-D7to6AbvmVo5NBks .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-D7to6AbvmVo5NBks #statediagram-barbEnd{fill:#9370db}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-state .divider{stroke:#9370db}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-D7to6AbvmVo5NBks .note-edge{stroke-dasharray:5}#mermaid-svg-D7to6AbvmVo5NBks .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-D7to6AbvmVo5NBks .error-icon{fill:#522}#mermaid-svg-D7to6AbvmVo5NBks .error-text{fill:#522;stroke:#522}#mermaid-svg-D7to6AbvmVo5NBks .edge-thickness-normal{stroke-width:2px}#mermaid-svg-D7to6AbvmVo5NBks .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-D7to6AbvmVo5NBks .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-D7to6AbvmVo5NBks .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-D7to6AbvmVo5NBks .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-D7to6AbvmVo5NBks .marker{fill:#333}#mermaid-svg-D7to6AbvmVo5NBks .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-D7to6AbvmVo5NBks { color: rgba(0, 0, 0, 0.75); font: ; }应用程序JDBCMySQL驱动MySQLOracle驱动Oracle

由图可知: JDBC访问不同的数据库需要不同的数据库驱动进行连接,为了使应用程序与数据库进行连接JDBC不仅需要提供访问数据的API,还要封装各种数据库服务器通信细节。

JDBC 常用 API

1.Driver接口
Driver 接口是所有JDBC驱动程序必须实现现的接口,该接口专门提供给数据库厂商使用。在编写
JDBC程序时必须要把指定数据库驱动程序或类库加载到项目的classpath中。
2.DirverManager类
   DriverManager类用于加载JDBC驱动并且创建与数据库的连接。在DriverManager类中,定义了两个比较重要的静态方法,如表所示。

方法名称 功能描述
registerDriver(Driver driver) 该方法用于向DiverMangr中注册给定的JDBC驱动程序
getConnection(String url,String user,String pwd) 该方法用 于建立和数据库的连接,并返回表示连接的Cnnetion对象

3.Connection接口
   Connection接口代表Java程序和数据库的连接,在Connection接口中,定义了一系列方法,具体如表所示。

方法名称 功能描述
   getMetaData( )       该方法用于返回表示数据库的元数据的DatabaseMetaData对象
   createStatement( )    用于创建一个Statement 对象来将SQL. 语句发送到数据库
      prepareStatement(String sql)      用于创建个PreparedStatement 对象来将参数化的SQL语句发送数据库
prepareCall(String sql) 用于创建一个CallableStaterment对象来调用数据库存储过程

4.Statement接口
Statement接口用于向数据库发送SQL语句,在Statement接口中,提供了三个执行SQL语句的方法,具体如表所示。

方法名称 功能描述
      execute(String sql)                                  用于执行各种SQL语句,该方法返回一个boolean 类型的值,如果为true,表示,表示所执行的SQL语句具备查询结果,可通过Statement的getResultSet()方法获得查询结果
executeUpdate(String sql)                                        用于执行SQL中的insert、update和delete语句。该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录的数目
executeQuery(String sql) 用于执行SQL中的select 语句,该方法返回一个表示查询结果的ResultSet对象

需要注意的是,表中的setDate()方法可以设置日期内容,但参数Date的类型是java. sql. Date,而不是
java. util. Date.

5.PreparedStatement接口
   PreparedStatement是Statement 的子接口,用于执行预编译的SQL语句。在PreparedStatement接口中,提供了一些基本操作的方法,具体如表所示。

  方法名称   功能描述
                                                                                              executeUpdate( )                在此PreparedStatement对象中执行SQL语句,该语句必须是个DML语句或者是无返回内容的SQL语句,比如DDL语句
executeQuery() 在此PreparedStatement对象中执行SQL查询,该方法返回的是ResultSet 对象
setInt(int parameterIndex, int x) 将指定参数设置为给定的int值
setFloat( int parameterIndex, float x) 将指定参数设置为给定的float值
eSring( int parameterIndex.String x) 将指定参数设置为给定的Sring值
serDate( int parameterIndex,Date x) 将指定参数设置给Data值
addBatch() 将一组参数添添加到此PreparedStatement对象处理命令中
setCharacterStream( parametaterIndex,reader,length) 将指定输入流写入数据库文本
setBinaryStream( parametaterIndex,x,length) 将二进制的输入流写入到二进制字段中

6.CallableStatement接口
CallableStatement是PreparedssSatmen的子接口,用于执行SQL存储过程。在CallableStatement接口中,提供了一些基本操作的方法,具体如表所示。

方法名称 功能描述
      registerOutParameter(int parameterIndex,int sqlType)             按顺序位置将OUT参数注册为SQL类型。其中,parameterIndex表示顺序位置,sqlType表示SQL类型
setNull(String parameterName, int sqlType) 将指定参数设置为SQL类型的NULL
setString(String parameterName, String x) 将指定参数设置为给定的Java类型的String值
wasNull() 查询最后一个读取的 OuT参数是否为SQL类型的NULL值
getInt(int parameterIndex) 以Java语言中int值的形式获取指定的数据库中INTEGER类型参数的值

需要注意的是,由于PreparedStatement接口又继Clelumaer接口继承了Peardrte待有的方法,也同时拥有了这两越两个交我中国此Calailaian接口中除了拥有自己两个父接口中的方法。

7.ResultSet接口
ResultSet接口表示南个一技口内部有一个指向表格数我据行的游标,ResulSses对象初始化时,游标在表格的第一行之前。从下表可以看看出,esutSetRuett接口中的常用方法。
段的索引来获取接口中定义了了大量的getXxx()方法,采用哪种getXxx()方法取决于字段为数据类型。程序既可以通过字段的名称来获取指定数据,也可以通过字体字段索引来获取指定数据。

方法名称 功能描述
getString(int columnIndex) 用于获取指定字段的String类型的值,参数columnIndex代表字段的索引
getring(String columnName) 用于获取指定字段的String类型的值,参数columnName代表字段的名称
getInt(int columnIndex) 用于获取指定字段的int类型的值,参数columnIndex代表字段的索引
Betnt(String columnName) 用于获取指定字段的int类型的值,参数clumName代表字段的名称
getDate(int columnlndex) 用于获取指定字段的Date类型的值,参数columnIndex代表字段的索引
BetDateString columnName) 用于 获取指定字段的Date类型的值.参数columnName代表字段的名称next()
next() 将游标从当前位置向下移一行
absolute(int row) 将游标移动到此ResultSet对象的指定行
afterLast() 将游标移动到此ResultSet 对象的末尾,即最后行之后
beforeFirst() 将游标移动到此ResultSet对象的开头,即第一行之前
previous( ) 将游标移动到此ResultSet对象的上–行
last( ) 将游标移动到此ResultSet对象的最后一行

实现第一个JDBC程序

(1)加载并注册数据库驱动,具体方式如下。

DriverManager,registerDriver (Driver driver);

(2)通过DriverManager获取数据库连接,具体方式如下。

Connection conn= DriverManager ,getConnection (String url, String user, string pass);

从上述方式可以看出,getConnection()方法中有三个参数,它们分别表示数据库url、登录数据库的用户名和密码。数据库url通常遵循如下形式的写法。

jdbc:subprotocol:subname

上面的url写法中jdbe部分是固定的:subprotocol指定连接到特定数据库的驱动程序,而subname部分则很不固定,也没有什么规律,不同数据库的url形式可能存在较大差异,以MySQL数据库url为例,其形式如下。

jdbc:mysq1://hostname;port/databasename

(3)通过Cmeteon对象获取Sseme对象。Comein创建Sutere万式有I如下三种。
①createStatement():创建基本的Statement对象。
②prepareStatement():创建PreparedStatement对象。
③prepareCall():创建CallableStatement对象。
以创建基本的Statement对象为例,具体方式如下。

Statement stmt= conn.createStatement();

(4)使用Statement执行SQL语句。所有的Statement都有如下三种方法来执行SQL语句。
①execute():可以执行任何SQL语句。
②executeQuery():通常执行查询语句,执行后返回代表结果集的ResultSet 对象。③executeUpdate():主要用于执行DML和DDL语句。执行DMI语句,如INSERT、UPDATE或DELETE时,返回受SQL语句影响的行数,执行DDL语句返回0。以executeQuery()方法为例,具体方式如下。

//执行SQL语句,获取结果集ResultSet
ResultSet rs=stmt. executeQuery(sq1) ;

(5)操作ResultSet结果集。如果执行的SQL语句是查询语句,执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。程序可以通过操作该ResultSet对象来取出查询结果。ResultSet 对象提供的方法主要可以分为以下两类。
①next()、previous()、first()、last()、beforeFirst()、afterLast()、abolute()等移动记录指针的方法。
②getXxx()获取指针指向行,特定列的值。
(6)回收数据库资源。关闭数据库连接,释放资源,包括关闭ResultSet、Statement和Connection等资源。

环境搭建
在MySQL中创建一个chapter01的数据库创建一个users表,代码如下:

CREATE DATABASE chapter01;
USE chapter01;
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(40),
password VARCHAR (40 ),
emil VARCHAR (60),
brithday DATE)CHARACTER SET utf8 COLLATE utf8_general_ci;

添加数据并查询

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: