Java 连接数据库入门教程.doc_第1页
Java 连接数据库入门教程.doc_第2页
Java 连接数据库入门教程.doc_第3页
Java 连接数据库入门教程.doc_第4页
Java 连接数据库入门教程.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java 连接数据库入门教程(附件有图解)JAVA数据库连接一、了解JDBCJDBC(Java DataBase Connectivity)是java数据库连接API。简单地说,JDBC能完成3件事:(1)与一个数据库建立连接;(2)向数据库发送SQL语句:(3)处理数据库返回的结果。下面我们就结合一个例子来说明这3步。JDBC在设计上和ODBC很相似。ODBC和数据库建立连接的一种方式是首先建立起一个JDBC-ODBC桥接器。由于ODBC驱动程序被广泛的使用,建立这种桥接器后,使得JDBC有能力访问几乎所有类型的数据库。二、建立数据库 假设我们有一个用Access设计的数据库:studentmdb,该库中有一个表,表的名字是chengjibiao三、设置数据源 为了同这个数据库建立连接,打开windows中的控制面板的管理工具的ODBC数据源。点击图3 “添加”按钮,增加新的数据源。选择“Microsoft Access Driver(*.mdb)”之后,点击完成按钮(为数据源选择了驱动程序)在“数据源名”文本框里写入你喜欢的名字,这里起名为“ceshi”。这个数据源就是指某个数据库。再点击“选择”按钮,把数据源ceshi设成要连接的数据库student.mdb。 如果我们要为数据源ceshi设置一个”登录名称”和“密码”的话,就再点击“高级”按钮,否则点击确定按钮就完成了数据源设置的全部步骤。现在,假设我们要给数据源一”登录名称”和“密码”,那么点击“高级”按钮。在”登录名称”里输入一个用户名,这里我们给的是meng ;在 “密码”文本框里输入口令(这里我们输入的是1234)。(注意这里的密码和数据库本身的密码没有关系)。然后都点击确定按钮,就完成了全部过程。关闭控制面板即可。四、JDBC-ODBC桥接器1建立JDBC-ODBC桥接器现在我们有了一个数据源,这个数据源就是一个数据库。为了连接到这个数据库,首先要建立一个JDBCODBC桥接器:C1assforName(“sunjdbcDdbcJdbcOdbcDriver ”);这里,Class是包javasq1中的一个类,这类通过调用它的静态方法forName就可以建立JDBCODBC桥接器。 注意:建立桥接器时可能发生异常、因此必须捕获这个异常。方法是: try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (java.lang.ClassNotFoundException e) System.out.println( 打不开文件 e); 2连接到数据库 首先使用包javaSql中的Connection类声明一个对象然后再使用类DriverManager调用它的静态方法getConnectio创建这个连接对象:Connectioncon DriverManagergetConnection(“jdbc:odb:数据源的名字”,“登录名称”,“密码”);如没有设置登录名称和密码,则为:Connectioncon DriverManagergetConnection(“jdbc:odb:数据源的名字”,“”,“”);这里的例子的方法为:Connectioncon DriverManagergetConnection(“jdbc:odbc:ceshi”,“meng”,“1234”);建立连接时应捕获SQLException异常:try Connectioncon= DriverManager.getConnection(jdbc:odbc:ceshi,meng,1234); catch (SQLException e) 这样就建立好了到数据库studentmdb的连接。3、向数据库发送SQL语句首先使用statement声明个SQL语句对象,然后通过刚才创建的连接数据库的对象con调用createStatement()方法创建这个SQL语句对象。Try Statement sql=con.createStatement( );Catch(SQLException e) 4、处理查询结果有了SQL对象后,就可以调用相应的方法实现对数据库的查询和修改。并将查询结果存放在一个ResultSet类声明的对象中,也就是说SQL语句对数据库的查询操作将返回个ResultSet对象:ResultSetrs=sql.executeQuery(SELECT * FROM chengjibiao);ResultSett对象实际上是个管式数据集,即它是由统一形式的列组织的数据行组成*ResultSet对象一次只能看到个数据行,使用next()方法走到下一数据行。获得一行数据后,ResultSet对象可以使用位置索引(第一列使用l,第二列使用2等等)或使用列名称,以便使用getXxx()方法获得字段值。下表1给了出了ResultSet对象的若干方法。1、JSP连接Oracle8/8i/9i数据库(用thin模式)步骤:(1) 加载驱动程序: Class.forName(oracle.jdbc.driver.OracleDriver);(2) 建立连接: Connection conn= DriverManager.getConnection(url,user,password);文件 testoracle.jsp2、JSP连接Sql Server7.0/2000数据库步骤:(1) 加载驱动程序: Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);(2) 建立连接: Connection conn= DriverManager.getConnection(url,user,password);文件 testsqlserver.jsp3、JSP连接MySQL数据库步骤:(1) 加载驱动程序: Class.forName(org.gjt.mm.mysql.Driver);(2) 建立连接: Connection conn= DriverManager.getConnection(url);文件 testmysql.jsp4、JSP连接PostgreSQL数据库步骤:(1) 加载驱动程序: Class.forName(org.postgresql.Driver);(2) 建立连接: Connection conn= DriverManager.getConnection(url,user,password);文件 testpostgresql.jsp5、JSP连接DB2数据库步骤:(1) 加载驱动程序:Class.forName(com.ibm.db2.jdbc.app.DB2Driver );(2) 建立连接:Connection conn= DriverManager.getConnection(url,user,password);文件 testdb2.jsp6、JSP连接Informix数据库步骤:(1) 加载驱动程序: Class.forName(rmix.jdbc.IfxDriver);(2) 建立连接: Connection conn= DriverManager.getConnection(url);文件 testinformix.jsp7、JSP连接Sybase数据库步骤:(1) 加载驱动程序: Class.forName(com.sybase.jdbc.SybDriver);(2) 建立连接: Connection conn= DriverManager.getConnection(url, SysProps);文件 testsybase.jsp下面有个例子,是从student.mdb读入数据,然后输出到表格(JTable)源码和数据文件在附件中都有.import java.sql.*; import java.awt.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.util.*;class JTable1 extends JFrame JPanel cp = new JPanel(); JTable jtable1; JScrollPane jscrp1 = new JScrollPane(); public JTable1() cp = (JPanel)this.getContentPane(); this.setTitle(student result); this.setSize(500, 200); cp.setLayout(new FlowLayout(); Connection con; Statement sql; ResultSet rs; DefaultTableModel dtm; /DefaultTableModel是 TableModel 的一个实现,它使用一个 Vector 来存储单元格的值对象,该 Vector 由多个 Vector 组成。 Vector content=new Vector (); Vector title=new Vector (); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /建立桥接器 catch (java.lang.ClassNotFoundException e) e.printStackTrace(); try con= DriverManager.getConnection(jdbc:odbc:st,meteor,12345);/连接 sql=con.createStatement();/创建SQL语句对象 rs=sql.executeQuery(SELECT * FROM result);/查询 ResultSetMetaData rsmd=rs.getMetaData(); /ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象 for(int i = 1; i = rsmd.getColumnCount(); i+)/getColumnCount()记录条数 title.add(rsmd.getColumnName(i);/获取列名(对象String) while(rs.next() Vector tmp=new Vector();/一个Vector content包含多个Vector for(int i = 1; i = rsmd.getColumnCount(); i+) tmp.add(rs.getString(i);/获取记录 content.add(tmp); dtm=new DefaultTableModel(content,title); jtable1 = new JTable(dtm); jtable1.setRowHeight(20); jscrp1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论