谁能大体给我讲讲这些语句是干什么的?

来源:百度知道 编辑:UC知道 时间:2024/05/10 08:31:39
public class Blobcool extends HttpServlet{
public void image(String id)throws IOException {
HttpServletResponse response = null;
String username,password,url;
Connection conn = null;
Statement stmt = null;
BufferedInputStream inputimage=null;
username="yingyuan";password="system";

try {url ="jdbc:oracle:thin:@localhost:1521:movie";
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(url,username,password);
stmt=conn.createStatement();
boolean defaultCommit = conn.getAutoCommit();
conn.setAutoCommit(false);System.out.println("rs1.getBlob");
String sql ="SELECT * FROM YY_NEW WHERE NAME='"+id+"'";
System.out.println("rs1.getBlob");
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
{System.out.println("rs1.getBlob");oracle.sql.BLOB blob =

这里在连接数据库.
url ="jdbc:oracle:thin:@localhost:1521:movie";
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(url,username,password);

这里在语句对象,然后将自动提交设为FALSE:
stmt=conn.createStatement();
boolean defaultCommit = conn.getAutoCommit();
conn.setAutoCommit(false);
然后,就是执行一条SQL语句,结果放到一个结果集(rs)中
String sql ="SELECT * FROM YY_NEW WHERE NAME='"+id+"'";
ResultSet rs = stmt.executeQuery(sql);
遍历这个结果集:
while (rs.next())
{...
//将取出来的东西,转型为"大对象"
oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("PIC");
//以二进制流的形式将这个大对象给输入流.
inputimage = new BufferedInputStream(blob.getBinaryStream());}

自动提交设置成TRUE
将刚才的输入流,给image
BufferedImage image = null;
try{image = ImageIO.read(inputimage);}
catch(IOException e){System.out.println(e);}
//拿到servlet输出流
ServletOutputStream sos = respo