⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blob.java

📁 SearchPathServer
💻 JAVA
字号:
package testsuite;



/*

 * Blob.java

 *

 * Created on July 4, 2000, 8:49 AM

 */

 

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.ResultSet;

import java.sql.Statement;

import java.sql.PreparedStatement;

import java.sql.DriverManager;





/** 

 *

 * @author  Administrator

 * @version 

 */

public class Blob extends Object {



   Connection Conn = null;

    ResultSet RS = null;

    Statement Stmt = null;



    static String DBUrl = "jdbc:mysql:///test";



    public static void main(String[] Args) throws Exception

    {

	if (Args.length > 0) {

		DBUrl = Args[0];

	}



	Blob  B = new Blob();



    }



    public Blob() throws Exception

    {

	try {

	    Class.forName("com.mysql.jdbc.Driver").newInstance();

	    

	    Conn = DriverManager.getConnection(DBUrl);



	    Stmt = Conn.createStatement();



	    System.out.print("Create test data: ");

	    boolean create_ok = createTestData();

	    System.out.println(create_ok ? "passed" : "failed");

	}

	catch (SQLException E) {

	    throw E;

	}

	finally {

	    if (RS != null) {

		try {

		    RS.close();

		}

		catch (SQLException SQLE) {}

	    }

	    

	    if (Stmt != null) {

		try {

		    Stmt.close();

		}

		catch (SQLException SQLE) {}

	    }



	    if (Conn != null) {

		try {

		    Conn.close();

		}

		catch (SQLException SQLE) {}

	    }

	}

    }



    private boolean createTestData() throws java.sql.SQLException

    {

	try {

	    

	    //

	    // Catch the error, the table might exist

	    //

	    

	    try {

		Stmt.executeUpdate("DROP TABLE BLOBTEST");

	    }

	    catch (SQLException SQLE) {}

	    

	    Stmt.executeUpdate("CREATE TABLE BLOBTEST (pos int PRIMARY KEY auto_increment, blobdata LONGBLOB)");

	    

            byte[] testBlob = new byte[1024 * 1024 * 12]; // 128k blob

            

            int dataRange = Byte.MAX_VALUE - Byte.MIN_VALUE;

            

	    for (int i = 0; i < testBlob.length; i++) {

		testBlob[i] = (byte)((Math.random() * dataRange) + Byte.MIN_VALUE);

              }

              

              PreparedStatement pstmt = Conn.prepareStatement("INSERT INTO BLOBTEST(blobdata) VALUES (?)");

              

              pstmt.setBytes(1, testBlob);

              

              pstmt.execute();



	      int rowsUpdated = pstmt.getUpdateCount();

              

              System.out.println("Updated " + rowsUpdated + " row(s) with byte[] data");



	      pstmt.clearParameters();



	      java.io.ByteArrayInputStream bIn = new java.io.ByteArrayInputStream(testBlob);



              pstmt.setBinaryStream(1, bIn, 0);

              

              pstmt.execute();

              

	      rowsUpdated = pstmt.getUpdateCount();

              System.out.println("Updated " + rowsUpdated + " row(s) with binary stream data");



	      pstmt.clearParameters();



	      System.out.println("Testing parameter check...");



	      boolean passed = false;



	      try 

	      {

		   pstmt.execute();

	      }

	     catch (SQLException sqlEx) {

		if (sqlEx.getMessage().equals("No value specified for parameter 1")) {

			passed = true;

		}

		else {

			sqlEx.printStackTrace();

		}

	     }



	     System.out.println((passed ? "Passed" : "Failed"));

                

                

	}

	catch (SQLException E) {

	    E.printStackTrace();

	    return false;

	}



	return true;

    }

  

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -