文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>java连接数据库mysql(一)

java连接数据库mysql(一)

时间:2007-10-17  来源:guozhaojuan

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()方法.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载