db2连接数据库的命令 db2连接数据库配置_bc

db2连接数据库的命令 db2连接数据库配置_bc_02

Java 连接数据库入门教程(附件有图解)

JAVA数据库连接

一、了解JDBC

JDBC(Java DataBase Connectivity)是java数据库连接API。简单地说,JDBC能完成3件事:

(1)与一个数据库建立连接;

(2)向数据库发送SQL语句:

(3)处理数据库返回的结果。

下面我们就结合一个例子来说明这3步。

JDBC在设计上和ODBC很相似。ODBC和数据库建立连接的一种方式是首先建立起一个JDBC-ODBC桥接器。由于ODBC驱动程序被广泛的使用,建立这种桥接器后,使得JDBC有能力访问几乎所有类型的数据库。

二、建立数据库

假设我们有一个用Access设计的数据库:student.mdb,该库中有一个表,表的名字是

chengjibiao

三、设置数据源

为了同这个数据库建立连接,打开windows中的控制面板的管理工具的ODBC数据源。

点击图3 “添加”按钮,增加新的数据源。

选择“Microsoft Access Driver(*.mdb)”之后,点击完成按钮(为数据源选择了驱动程序)

在“数据源名”文本框里写入你喜欢的名字,这里起名为“ceshi”。

这个数据源就是指某个数据库。

再点击“选择”按钮,把数据源ceshi设成要连接的数据库student.mdb。

如果我们要为数据源ceshi设置一个”登录名称”和“密码”的话,就再点击“高级”

按钮,否则点击确定按钮就完成了数据源设置的全部步骤。

现在,假设我们要给数据源一”登录名称”和“密码”,那么点击“高级”按钮。

在”登录名称”里输入一个用户名,这里我们给的是meng ;在 “密码”文本框里输入口令(这里我们输入的是1234)。(注意这里的密码和数据库本身的密码没有关系)。然后都点击确定按钮,就完成了全部过程。关闭控制面板即可。

四、JDBC-ODBC桥接器

1.建立JDBC-ODBC桥接器

现在我们有了一个数据源,这个数据源就是一个数据库。

为了连接到这个数据库,首先要建立一个JDBC-ODBC桥接器:

C1ass.forName(“sun.jdbc.Ddbc.JdbcOdbcDriver ”);

这里,Class是包java.sq1中的一个类,这类通过调用它的静态方法forName就可以建立JDBC-ODBC桥接器。

注意:建立桥接器时可能发生异常、因此必须捕获这个异常。

方法是:

try  {  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch  (java.lang.ClassNotFoundException  e)
{
System.out.println(" 打不开文件" + e);
}

2.连接到数据库

首先使用包java.Sql中的Connection类声明一个对象.然后再使用类DriverManager调用它的静态方法getConnectio创建这个连接对象:

Connection con = DriverManager.getConnection(“jdbc:odb:数据源的名字”,“登录名称”,“密码”);

如没有设置登录名称和密码,则为:

Connection con = DriverManager.getConnection(“jdbc:odb:数据源的名字”,“”,“”);

这里的例子的方法为:

Connection con = DriverManager.getConnection(“jdbc:odbc:ceshi”,“meng”,“1234”);

建立连接时应捕获SQLException异常:

try  {
Connection con= DriverManager.getConnection("jdbc:odbc:ceshi","meng","1234");
}
catch (SQLException  e)
{       }

这样就建立好了到数据库student.mdb的连接。

3、向数据库发送SQL语句

首先使用statement声明—个SQL语句对象,然后通过刚才创建的连接数据库的对象con调用createStatement()方法创建这个SQL语句对象。

Try { Statement sql=con.createStatement( );}

Catch(SQLException  e){  }

4、处理查询结果

有了SQL对象后,就可以调用相应的方法实现对数据库的查询和修改。并将查询结果存放在一个ResultSet类声明的对象中,也就是说SQL语句对数据库的查询操作将返回—个ResultSet对象:

ResultSet rs=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.jsp

2、JSP连接Sql Server7.0/2000数据库

步骤:

(1) 加载驱动程序: Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

(2) 建立连接: Connection conn= DriverManager.getConnection(url,user,password);

文件 testsqlserver.jsp

3、JSP连接MySQL数据库

步骤:

(1) 加载驱动程序: Class.forName("org.gjt.mm.mysql.Driver");

(2) 建立连接: Connection conn= DriverManager.getConnection(url);

文件 testmysql.jsp

4、JSP连接PostgreSQL数据库

步骤:

(1)    加载驱动程序: Class.forName("org.postgresql.Driver");

(2) 建立连接: Connection conn= DriverManager.getConnection(url,user,password);

文件 testpostgresql.jsp

5、JSP连接DB2数据库

步骤:

(1) 加载驱动程序:Class.forName("com.ibm.db2.jdbc.app.DB2Driver ");

(2) 建立连接:Connection conn= DriverManager.getConnection(url,user,password);

文件 testdb2.jsp

6、JSP连接Informix数据库

步骤:

(1) 加载驱动程序: Class.forName("com.informix.jdbc.IfxDriver");

(2) 建立连接: Connection conn= DriverManager.getConnection(url);

文件 testinformix.jsp

7、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.getViewport().add(jtable1);//getViewport()滚动窗格的视口子级
cp.add(jscrp1);
con.close();
}
catch  (SQLException el)
{ el.printStackTrace();}
}
}
public  class  JAVADB
{
public static void main(String args[])
{
JTable1 JTable1 = new JTable1();
JTable1.setVisible(true);
}
}