离弦之Ray

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  55 Posts :: 0 Stories :: 33 Comments :: 0 Trackbacks
 

JDBC 主要有两种方法

DriverManager机制:java.sql核心API

DataSource机制:javax.sql可扩展API

DriverManager机制:

stetp1:注册驱动程序

1)隐式注册Class.forName("JDBCDriverName");

2)显示注册DriverMnager.registerDriver(new JDBCDriverName());

step 2:建立数据库连接

Connection conn = DriverManager.getConnection(URL,username,password);

//其中URLjdbc:driver:databasename

step3:SQL操作

DataSource机制

step1:查询数据源对象

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup(DataSourceJNDIName);

step2:获取数据库连接

Connection con = ds.getConnection();

step3SQL操作

SQL操作

1)使用Statement

      Statement stmt = con.createStatement();

      stmt.executeUpdate("SQL语句");

      stmt.close();

2)使用PreparedStatement

      例子

      PreparedStatement psmt = conn.preparedStatement("INSERT INTO employee                                                  VALUES(?,?,?)");

       psmt.setString(1,"Benjamin");

       psmt.setString(2,"France");

       psmt.setInt(3,55);

       int opNum = psmt.executeUpdate();

       还可以批量处理

       psmt.setString(1,"Benjamin");

       psmt.setString(2,"France");

       psmt.setInt(3,55);

       psmt.addBatch();

       psmt.setString(1,"Rob");

       psmt.setString(2,"America");

       psmt.setInt(3,56);

       psmt.addBatch();

       int [] updateCounts = psmt.executeBatch();

关于ResultSet

ResultSet rs = stmt.executeQuery("SQL");

next()——移到下一行,如果没有了则返回false。常常放在while(rs.next)用来循环取数据

getString(String ColumnName)

absolute(int row)

beforeFist()

isAfterLast()

isBeforeFirst()

isFirst()

isLast()

refreshRow()

关于元数据

所谓元数据就是描述数据的数据,这里当然指列名等等信息了

ResultSetMetaData rsmd = rs.getMetaData();

rsmd.getColumnCount();

rsmd.getColumnName(index);

posted on 2007-10-21 18:41 离弦之ray的技术天空 阅读(312) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问