Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501338
  • 博文数量: 161
  • 博客积分: 2250
  • 博客等级: 大尉
  • 技术积分: 1601
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-19 18:58
文章分类

全部博文(161)

文章存档

2017年(2)

2015年(44)

2012年(1)

2011年(35)

2010年(10)

2009年(9)

2008年(5)

2007年(55)

我的朋友

分类: Mysql/postgreSQL

2007-10-17 21:56:46

1.加载数据库驱动程序.用户可以使用Class.forName("jdbc.DriverXXX")加载数据驱动程序,参数为jdbc驱动程序的名称,该名称要根据数据库jdbc驱动程序中使用的驱动程序类型而定.例如,Mysql数据库对应的驱动程序明为
com.mysql.jdbc.Driver.
2.获得数据库连接:通过DriverManager.getConnection(JDBCURL)可以获得数据库连接对象.MySQL的JDBCURL格式为jdbc:mysql://localhost:3306/数据库名称.建立数据库连接的代码举例:
                 Class.forName("com.mysql.jdbc.Driver");
                 String url="jdbc:mysql://localhost:3306/estore;
                 String  user="root";
                 String  pass="admin";
                 Connection con=DriverManager.getConnection(url,user,pass);
 3.执行sql语句.执行sql语句是通过语句对象完成的.语句对象有如下三种:
(1)/*statement:
     * statement对象可以通过connection对象的creatstatement方法建立,statement对象的主要方法有:
     * executeQuery方法,执行查询语句select,将查到的记录以结果集的方式返回.
     * executeUpdate方法,执行insert update delete操作
     * execute执行查询语句(可以返回多个结果集),也可以执行更新操作
     * 下面一段代码是建立statement对象并执行插入一条记录的sql语句:
     * statement stmt=con.creatstatement();
     * stmt.executeUpdate("insert into table values(v1,v2)");*/
(2)PreparedStatement:
/*创建表示预编译的sql语句的对象.sql语句经过预编译存储在preparedstatement对象中.然后通过此对象可以有效的执行此语句;
     * preparedstatement接口继承statement,他们在两方面有所不同:
     * 1.preparedstatement实例包含已编译的sql语句,这就是使语句准备好.包含在preparedstatement中的sql语句可具有一个或多个
     * IN参数.IN参数的值在sql语句创建是未被指定.相反,该语句为每个IN参数保留一个问号作为站位符.每个问号的值必须在该语句执行之前通
     * 过适当的set方法来提供
     * 2.由于preparedstatement对象已被预编译过,所以其执行速度快于statement对象.因此多次执行的sql语句经常创建为preparedstatement
     * 对象,以提高效率. 作为statement的子类,preparedstatement继承了statement的所有功能.另外,它还添加了一整套方法,用于设置发送给数据库以取代
    *IN参数站位符的值.同时,execute executeQuery executeUpdate三种方法已被更改使之不再需要参数.这些参数的statement
    *   形式不应该用于preparedstatement对象.创建preparedstatement对象的方法如下:
    *   preparedstatement pstmt=con.preparedstatement("Update table set m=?where x=?");
    *   其中pstmt对象包含语句,它已发送给数据库,并为执行做好准备.在执行ps之前,必须设置每个"?"参数的值,这可通过调用setXXX方法来完成
    *   其中XXX是与该参数相应的类型.setXXX的第一个参数表示要设置的参数的序数,第二个表示要设置的参数的值.*/
 4.处理结果集
  /*   (1).取当前记录的列值
     * resultset类提供了一系列的get方法(每一种数据类型定义了一种get方法),使用与列数据类型对应的get方法可以取得该列的值.
     * 例如,加入与表A对应的结果集为rs,则rs.getString("a")可以返回当前记录a列的值
     * (2).结果集的滚动.
         rs.next();
     * (3).取得结果集信息.
     * 用户可以使用resultsetmetadata对象获取结果集信息(通过resultset的getmeta data()方法获得resultsetmetadata对象
     * .例如:
     * resultset rs=stmt.getresultset();
     * resultsetmetadata rsmd=rs.getmetadata();
     * int columecount=rsmd.getcolumncount();
     * for(i=1;i<=columncount;i++)
     * rsmd.getclumname();*/
 5.关闭连接
建立连接后一定要及时关闭,关闭连接使用Connection对象的close()方法.
阅读(1961) | 评论(0) | 转发(0) |
0

上一篇:心愿

下一篇:nautilus预览mp3

给主人留下些什么吧!~~