下面的代码在derby中创建了一个sample的数据库,并创建了一个表,做了些测试。
package ForTest;
import java.awt.Image;
import java.awt.image.RenderedImage;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Savepoint;
import java.sql.Statement;
import javax.imageio.ImageIO;
public class ConnectDBTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String driver = "org.apache.derby.jdbc.ClientDriver";
String url = "jdbc:derby://localhost:1527/sample;create=true";
String sql = "create table students(id int,name varchar(20),photo blob)";
String sql2 = "insert into Greetings values(1,'bai')";
String sql3 = "select * from Greetings";
String sql4= "update Greetings set id=? where id=?";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
PreparedStatement ps = null;
try{
// ps = conn.prepareStatement(sql4);
// ps.setInt(1, 222);
// ps.setInt(2, 1);
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url);
conn.setAutoCommit(false);
stmt=conn.createStatement();
ps.execute();
stmt.addBatch(sql3);
stmt.addBatch(sql4);
Savepoint sp =conn.setSavepoint();
stmt.executeUpdate(sql2);
stmt.executeQuery(sql3);
conn.rollback();
rs=stmt.getResultSet();
ResultSetMetaData metaData=rs.getMetaData();
int columncount = metaData.getColumnCount();
for(int i=1;i<=columncount;i++){
System.out.println(metaData.getColumnLabel(i));
}
System.out.println("***");
while(rs.next()){
for(int i=1;i<=columncount;i++){
System.out.println(rs.getString(i));
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}