JBDC批量处理

                                      JBDC批量处理

一.Statement的execute的方法一次只能执行一条sql语句,如果同时有多条sql语句要执行的话,可以使用addBatch方法将要执行sql语句加入进来,然后在执行executeBatch()方法,这样就可以在一次方法调用中执行多条sql语句。以提高执行效率。

 

     try {

        con=JdbcUtil.getConnection();

        stat=con.createStatement();

        stat.addBatch("insert into student(name) values('wanglu')");

        stat.addBatch("insert into student(name) values('xxx')");

        stat.executeBatch();

       

     } catch (SQLException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

     }

     JdbcUtil.release1(null,stat, con);

二.分页

查询丛user表中读取第41条开始的20条记录

Select * from user limit 40,20;

三,可更新的结果集是一个可变动的结果集

Mysql不支持敏感集;

Statement st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

     ResultSet rs=st.executeQuery("select * from student");

     if(rs.next()){

        rs.getObject(1);

        //...

        rs.updateString(2,"TOM");

        rs.updateRow();

       

四,数据元信息

Resultset用来表示查询到的数据,而resultsetmetadata表示的是所有查询到的数据背后的数据描述---如表名。列名称,列类型。利用restletsetmeatdata可以完成表的反向设计,即jdbc可以查询数据库表来获取它的结构,从而利用这些表结来完成对实体类得生成。

package cn.csdn.a20110916;

 

 

 

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

 

public class TestDatabaseMetaData {

 

      /**

       * @param args

       */

      public static void main(String[] args) {

           // TODO Auto-generated method stub

           Connection con=null;

           Statement st=null;

           ResultSet res=null;

           ResultSetMetaData resmd=null;

           try {

                 con=JdbcUtil.getConnection();

                 st=con.createStatement();

                 res=st.executeQuery("SELECT * FROM STUDENT");

                 resmd=res.getMetaData();

                 System.out.println(resmd.getColumnCount());

                 for(int i=1;i<=resmd.getColumnCount();i++){

                      System.out.print(resmd.getColumnLabel(i)+"\t");

                 }

                 System.out.println();

                 for(int i=1;i<=resmd.getColumnCount();i++){

                      System.out.print(resmd.getColumnType(i)+"\t");

                

                 }

                 //获取数据库的元数据

           DatabaseMetaData dmd=con.getMetaData();

                 System.out.println(dmd.getDatabaseProductName());

                 System.out.println(dmd.getDriverName());

                 System.out.println(dmd.getDefaultTransactionIsolation());

           System.out.println(dmd.getDatabaseProductVersion());

 

           } catch (SQLException e) {

                 // TODO Auto-generated catch block

                 e.printStackTrace();

           }

           JdbcUtil.release(res,st,con);

          

      }

 

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值