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);

}

}

你可能感兴趣的:(批量)