<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alex's Blog &#187; jdbc</title>
	<atom:link href="http://www.hialex.net/tags/jdbc/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hialex.net</link>
	<description>记录生活与工作中的点点滴滴</description>
	<lastBuildDate>Sat, 09 Jan 2010 12:37:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>(九)JDBC操作技术</title>
		<link>http://www.hialex.net/2008/03/usage-of-jdbc.html</link>
		<comments>http://www.hialex.net/2008/03/usage-of-jdbc.html#comments</comments>
		<pubDate>Sat, 01 Mar 2008 08:42:57 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[odbc]]></category>

		<guid isPermaLink="false">http://www.hialex.net/2008/03/usage-of-jdbc.html</guid>
		<description><![CDATA[动态WEB的最大特点：可以操作数据库

JSP是通过JDBC(Java DataBase Connectivity)技术操作数据库的 
使用数据库之后可以发现，对数据的处理由数据库管理系统(DBMS)去完成，而程序只是将需要的数据进行显示 

JDBC本身是JAVA连接数据库的一个标准，是JAVA操作数据库的方法，是SUN提供的，而微软操作数据库的方法是ODBC
JDBC 1.0：

分类：

JDBC-ODBC Bridge(JDBC-ODBC桥接方式)：因为性能较差,在开发中不采用 
JDBC-native Driver Bridge：驱动有个数据库生产厂家提供 
JDBC-network Bridge 


JDBC-ODBC：

JDBC-ODBC是在JDK中由SUN本身开发出来的一套数据访问操作，在JDBC-ODBC桥接中它的各种操作API都是最新的，但是性能不高 
ODBC的基本原理

通过一个数据源名称&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#8212;&#62;&#160; 数据库 
为数据库起了一个别名&#160;&#160;&#160;&#160; &#8212;&#62;&#160; 程序通过别名访问数据库 
即：程序只认别名不认具体的数据库 




常用接口：

使用java.sql包 
常用接口：&#8211;DriverManager&#160;&#160;&#160; &#8211;Connection&#160;&#160; &#8211;Statement&#160;&#160; &#8211;PreparedStatement&#160;&#160;&#160;&#160; &#8211;ResultSet 


**利用JDBC开发WEB数据库应用框架 

装入JDBC驱动程序 
创建与数据库的连接 
创建语句对象 
利用语句对象执行SQL语句得到结果 
处理结果 
JDBC应用结束，关闭各项操作 

 
**JDBC具体使用&#8211;各条对应上面框架各条 

通过Class.forName(&#34;XX&#34;);&#160; eg.Class.forName（&#34;sun.jdbc.odbc.JdbcOdbcDriver&#34;); 
Connection conn = DriverManager.getConnection(DBURL,USER,PASSWORD); 
创建对象

使用statement对象：Statement stmt = conn.createStatement(); 
使用PreparedStatement对象：PreparedStatement pstmt = conn.PrepareStatement(); 


执行SQL语句返回ResultSet实例化对象

查询数据库：stmt.ececuteQuery(sql); 

包括SELECT 


更新数据库：stmt.ececuteUpdate(sql); 

包括DELETE、INSERT、UPDATE 




结果集ResultSet的处理 

使用getXXX();方法可以得到不同类型的结果值(参数可以是字段或编号) [...]]]></description>
			<content:encoded><![CDATA[<p><strong>动态WEB的最大特点：可以操作数据库</strong></p>
<ul>
<li><strong>JSP是通过JDBC(Java DataBase Connectivity)技术操作数据库的</strong> </li>
<li>使用数据库之后可以发现，对数据的处理由数据库管理系统(DBMS)去完成，而程序只是将需要的数据进行显示 </li>
</ul>
<p><strong>JDBC本身是JAVA连接数据库的一个标准</strong>，是JAVA操作数据库的方法，是SUN提供的，而微软操作数据库的方法是ODBC</p>
<p>JDBC 1.0：</p>
<ul>
<li>分类：
<ol>
<li><strong>JDBC-ODBC Bridge(JDBC-ODBC桥接方式)：因为性能较差,在开发中不采用 </strong></li>
<li><strong>JDBC-native Driver Bridge：驱动有个数据库生产厂家提供 </strong></li>
<li><strong>JDBC-network Bridge</strong> </li>
</ol>
</li>
<li>JDBC-ODBC：
<ul>
<li>JDBC-ODBC是在JDK中由SUN本身开发出来的一套数据访问操作，在JDBC-ODBC桥接中它的各种操作API都是最新的，但是性能不高 </li>
<li><strong>ODBC的基本原理</strong>
<ul>
<li><strong>通过一个数据源名称&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#8212;&gt;&#160; 数据库 </strong></li>
<li><strong>为数据库起了一个别名&#160;&#160;&#160;&#160; &#8212;&gt;&#160; 程序通过别名访问数据库 </strong></li>
<li><strong>即：程序只认别名不认具体的数据库</strong> </li>
</ul>
</li>
</ul>
</li>
<li>常用接口：
<ol>
<li><strong>使用java.sql包</strong> </li>
<li>常用接口：&#8211;DriverManager&#160;&#160;&#160; &#8211;Connection&#160;&#160; &#8211;Statement&#160;&#160; &#8211;PreparedStatement&#160;&#160;&#160;&#160; &#8211;ResultSet </li>
</ol>
</li>
<li><strong>**利用JDBC开发WEB数据库应用框架 </strong>
<ol>
<li><strong>装入JDBC驱动程序 </strong></li>
<li><strong>创建与数据库的连接 </strong></li>
<li><strong>创建语句对象 </strong></li>
<li><strong>利用语句对象执行SQL语句得到结果 </strong></li>
<li><strong>处理结果 </strong></li>
<li><strong>JDBC应用结束，关闭各项操作 </strong></li>
</ol>
<p> <span id="more-57"></span></li>
<li><strong>**JDBC具体使用&#8211;各条对应上面框架各条 </strong>
<ol>
<li><strong>通过Class.forName(&quot;XX&quot;);</strong>&#160; eg.Class.forName（&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;); </li>
<li><strong>Connection conn = DriverManager.getConnection(DBURL,USER,PASSWORD); </strong></li>
<li><strong>创建对象</strong>
<ul>
<li><strong>使用statement对象：</strong>Statement stmt = conn.createStatement(); </li>
<li><strong>使用PreparedStatement对象：</strong>PreparedStatement pstmt = conn.PrepareStatement(); </li>
</ul>
</li>
<li><strong>执行SQL语句返回ResultSet实例化对象</strong>
<ul>
<li><strong>查询数据库：stmt.ececuteQuery(sql); </strong>
<ul>
<li>包括SELECT </li>
</ul>
</li>
<li><strong>更新数据库：stmt.ececuteUpdate(sql); </strong>
<ul>
<li>包括DELETE、INSERT、UPDATE </li>
</ul>
</li>
</ul>
</li>
<li><strong>结果集ResultSet的处理 </strong>
<ul>
<li>使用getXXX();方法可以得到不同类型的结果值(参数可以是字段或编号) </li>
<li>next()方法可以使游标移动到下一条记录 </li>
</ul>
</li>
<li><strong>数据库在每次使用之后都必要关闭，关闭数据库操作的顺序与打开数据库操作的顺序相反 </strong></li>
</ol>
</li>
<li>PreparedStatement&#8211;Statement的子接口
<ul>
<li>引入原因：当Statement所需要的SQL语句中包含&#8220;<strong>&#8216;</strong>&#8221;，会造成数据输入的不正确 </li>
<li>建议：<strong>在开发中尽量不去使用Statement对象，而去使用PreparedStatement操作数据库 </strong></li>
</ul>
</li>
</ul>
<p>JDBC 2.0新功能：</p>
<ol>
<li><strong>ResultSet对象中的光标可以自由上下滚动</strong>
<ul>
<li>TYPE_FORWORD_ONLY:与JDBC1.0没有区别 </li>
<li>TYPE_SCROLL_SENSITIVE:可以上下滚动，不能取得结果集改变的值 </li>
<li>TYPE_SCROLL_INSENSITIVE:可以上下滚动，能够取得结果集改变的值 </li>
</ul>
</li>
<li><strong>直接使用结果集操作</strong>
<ol>
<li>更新数据：rs.updateRow(); </li>
<li>删除数据：rs.deleteRow(); </li>
</ol>
</li>
<li><strong>批处理（Batch）</strong>
<ol>
<li>JDBC2.0提供批处理操作，可以让一个Statement同时执行多个SQL语句，以提高性能 </li>
<li><strong>事务处理</strong>
<ul>
<li><strong>事务：在数据库批处理操作时，要么全部执行成功，要么全部失败</strong> </li>
<li><strong>这样做可以保证数据的完整性</strong><a href="http://www.hialex.net/images/post/JDBC_E9EC/20080219001649853.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="124" alt="20080219001649853" src="http://www.hialex.net/images/post/JDBC_E9EC/20080219001649853_thumb.jpg" width="454" border="0" /></a> </li>
</ul>
</li>
</ol>
</li>
</ol>
<p><a href="http://17fav.com/?url=http%3A%2F%2Fwww.hialex.net%2F2008%2F03%2Fusage-of-jdbc.html&title=%28%E4%B9%9D%29JDBC%E6%93%8D%E4%BD%9C%E6%8A%80%E6%9C%AF" title="用 17fav 收藏和分享本文"><img src="http://17fav.com/i/bookmark.gif" alt="17fav 收藏本文" /></a></p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>2008-04-02 -- <a href="http://www.hialex.net/2008/04/servlet-note.html" title="Servlet程序设计">Servlet程序设计</a> (0)</li><li>2008-03-15 -- <a href="http://www.hialex.net/2008/03/javabean-syntax-b.html" title="JavaBean语法(下)">JavaBean语法(下)</a> (0)</li><li>2008-03-01 -- <a href="http://www.hialex.net/2008/03/javabean-syntax-a.html" title="JavaBean语法(上)">JavaBean语法(上)</a> (0)</li><li>2008-02-19 -- <a href="http://www.hialex.net/2008/02/jdbc-link-to-mysql.html" title="JDBC连接Mysql数据库">JDBC连接Mysql数据库</a> (0)</li><li>2008-02-13 -- <a href="http://www.hialex.net/2008/02/jsp-syntax-g.html" title="(八)JSP基本语法G&#8211;其他对象">(八)JSP基本语法G&#8211;其他对象</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hialex.net/2008/03/usage-of-jdbc.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDBC连接Mysql数据库</title>
		<link>http://www.hialex.net/2008/02/jdbc-link-to-mysql.html</link>
		<comments>http://www.hialex.net/2008/02/jdbc-link-to-mysql.html#comments</comments>
		<pubDate>Tue, 19 Feb 2008 12:44:36 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[工作学习]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.hialex.net/2008/02/jdbc-link-to-mysql.html</guid>
		<description><![CDATA[看了JDBC连接技术视频，特别想试着连连看，但是视频中老师是连接的Oracle数据库，而我的机器上并没有装Oracle，所以想连别的数据库，比如说Mysql。
按照视频中老师讲解的方法，JDBC连接任何数据库搞定两个步骤即可，一是找到欲连接的数据库的JDBC驱动，二是写好数据库连接地址，所以我照着这两点尝试着连Mysql：
第一步：找到Mysql的JDBC连接驱动（下载地址）。
第二步：将下载下来的文件解压，将其中的mysql-connector-java-5.1.5-bin.jar拷贝到%TOMCAT_HOME%\lib目录下。
第三步：在要连接数据库的JSP页面中填写参数，具体如下：

数据库驱动程序为：&#8221;com.mysql.jdbc.Driver&#8221;
数据库连接地址为：&#8221;jdbc:mysql://localhost/[数据库名]&#8220;

完成以上步骤，JDBC连接Mysql数据库的核心步骤基本就搞定了，剩下的就是JDBC的一些固定步骤了。
我在网上搜索jdbc连接mysql数据库的方法时发现了我在视频中学到的方法并不是和网上的方法完全一致，有点小的差别，但是我用以上的方法是能成功连接的。
附：JDBC连接Mysql数据库代码

&#60;%
//定义数据库操作的常量及对象
//数据库驱动程序
final    String    DBDRIVER            =    &#34;com.mysql.jdbc.Driver&#34;    ;
//数据库连接地址
final    String    DBURL                =   [...]]]></description>
			<content:encoded><![CDATA[<p>看了JDBC连接技术视频，特别想试着连连看，但是视频中老师是连接的Oracle数据库，而我的机器上并没有装Oracle，所以想连别的数据库，比如说Mysql。</p>
<p>按照视频中老师讲解的方法，JDBC连接任何数据库搞定两个步骤即可，一是找到欲连接的数据库的JDBC驱动，二是写好数据库连接地址，所以我照着这两点尝试着连Mysql：</p>
<p>第一步：找到Mysql的JDBC连接驱动（<a href="http://dev.mysql.com/downloads/connector/j/5.0.html" target="_blank">下载地址</a>）。</p>
<p>第二步：将下载下来的文件解压，将其中的mysql-connector-java-5.1.5-bin.jar拷贝到%TOMCAT_HOME%\lib目录下。</p>
<p>第三步：在要连接数据库的JSP页面中填写参数，具体如下：</p>
<ul>
<li>数据库驱动程序为：&#8221;com.mysql.jdbc.Driver&#8221;</li>
<li>数据库连接地址为：&#8221;jdbc:mysql://localhost/[数据库名]&#8220;</li>
</ul>
<p>完成以上步骤，JDBC连接Mysql数据库的核心步骤基本就搞定了，剩下的就是JDBC的一些固定步骤了。</p>
<p>我在网上搜索jdbc连接mysql数据库的方法时发现了我在视频中学到的方法并不是和网上的方法完全一致，有点小的差别，但是我用以上的方法是能成功连接的。</p>
<p>附：JDBC连接Mysql数据库代码</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;%</span>
<span style="color: #666666; font-style: italic;">//定义数据库操作的常量及对象</span>
<span style="color: #666666; font-style: italic;">//数据库驱动程序</span>
<span style="color: #000000; font-weight: bold;">final</span>    <span style="color: #003399;">String</span>    DBDRIVER            <span style="color: #339933;">=</span>    <span style="color: #0000ff;">&quot;com.mysql.jdbc.Driver&quot;</span>    <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//数据库连接地址</span>
<span style="color: #000000; font-weight: bold;">final</span>    <span style="color: #003399;">String</span>    DBURL                <span style="color: #339933;">=</span>    <span style="color: #0000ff;">&quot;jdbc:mysql://localhost/jsp&quot;</span>    <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//数据库用户名</span>
<span style="color: #000000; font-weight: bold;">final</span>    <span style="color: #003399;">String</span>    DBUSER            <span style="color: #339933;">=</span>    <span style="color: #0000ff;">&quot;root&quot;</span>    <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//数据库密码</span>
<span style="color: #000000; font-weight: bold;">final</span>    <span style="color: #003399;">String</span>    DBPASSWORD        <span style="color: #339933;">=</span>    <span style="color: #0000ff;">&quot;root&quot;</span>    <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//声明一个数据库连接对象</span>
<span style="color: #003399;">Connection</span>        conn                <span style="color: #339933;">=</span>    <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//声明一个数据库操作对象</span>
<span style="color: #003399;">Statement</span>    stmt                    <span style="color: #339933;">=</span>    <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//声明一个结果集对象</span>
<span style="color: #003399;">ResultSet</span>    rs                        <span style="color: #339933;">=</span>    <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span>        sql                        <span style="color: #339933;">=</span>    <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;%</span>
<span style="color: #666666; font-style: italic;">//进行数据库操作</span>
<span style="color: #000000; font-weight: bold;">try</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//加载驱动程序</span>
<span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">&#40;</span>DBDRIVER<span style="color: #009900;">&#41;</span>     <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//连接数据库</span>
conn    <span style="color: #339933;">=</span>    <span style="color: #003399;">DriverManager</span>.<span style="color: #006633;">getConnection</span><span style="color: #009900;">&#40;</span>DBURL,DBUSER,DBPASSWORD<span style="color: #009900;">&#41;</span>    <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//实例化数据库操作对象</span>
stmt    <span style="color: #339933;">=</span>    conn.<span style="color: #006633;">createStatement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>    <span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//编写SQL语句</span>
sql        <span style="color: #339933;">=</span>    <span style="color: #0000ff;">&quot; SELECT name FROM person WHERE id='&quot;</span><span style="color: #339933;">+</span>name<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;' AND password='&quot;</span><span style="color: #339933;">+</span>password<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;'&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//查询记录</span>
rs    <span style="color: #339933;">=</span>    stmt.<span style="color: #006633;">executeQuery</span><span style="color: #009900;">&#40;</span>sql<span style="color: #009900;">&#41;</span>    <span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>rs.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//如果有记录，执行此段代码</span>
flag     <span style="color: #339933;">=</span>    <span style="color: #000066; font-weight: bold;">true</span>    <span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">//依次关闭</span>
rs.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>    <span style="color: #339933;">;</span>
stmt.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>    <span style="color: #339933;">;</span>
conn.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>    <span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">%&gt;</span></pre></div></div>

<p><a href="http://17fav.com/?url=http%3A%2F%2Fwww.hialex.net%2F2008%2F02%2Fjdbc-link-to-mysql.html&title=JDBC%E8%BF%9E%E6%8E%A5Mysql%E6%95%B0%E6%8D%AE%E5%BA%93" title="用 17fav 收藏和分享本文"><img src="http://17fav.com/i/bookmark.gif" alt="17fav 收藏本文" /></a></p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>2008-03-01 -- <a href="http://www.hialex.net/2008/03/usage-of-jdbc.html" title="(九)JDBC操作技术">(九)JDBC操作技术</a> (0)</li><li>2009-03-08 -- <a href="http://www.hialex.net/2009/03/mysql-notes-3.html" title="MySQL读书笔记(3)">MySQL读书笔记(3)</a> (0)</li><li>2009-03-03 -- <a href="http://www.hialex.net/2009/03/mysql-notes-2.html" title="MySQL读书笔记(2)">MySQL读书笔记(2)</a> (0)</li><li>2009-03-02 -- <a href="http://www.hialex.net/2009/03/mysql-notes-1.html" title="MySQL读书笔记(1)">MySQL读书笔记(1)</a> (0)</li><li>2008-04-02 -- <a href="http://www.hialex.net/2008/04/servlet-note.html" title="Servlet程序设计">Servlet程序设计</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hialex.net/2008/02/jdbc-link-to-mysql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
