preparedstatementtest.java
来自「PostgreSQL7.4.6 for Linux」· Java 代码 · 共 92 行
JAVA
92 行
package org.postgresql.test.jdbc2;import org.postgresql.test.TestUtil;import junit.framework.TestCase;import java.io.*;import java.sql.*;public class PreparedStatementTest extends TestCase{ private Connection conn; public PreparedStatementTest(String name) { super(name); } protected void setUp() throws SQLException { conn = TestUtil.openDB(); TestUtil.createTable(conn, "streamtable", "bin bytea, str text"); } protected void tearDown() throws SQLException { TestUtil.dropTable(conn, "streamtable"); TestUtil.closeDB(conn); } public void testSetBinaryStream() throws SQLException { ByteArrayInputStream bais; byte buf[] = new byte[10]; for (int i=0; i<buf.length; i++) { buf[i] = (byte)i; } bais = null; doSetBinaryStream(bais,0); bais = new ByteArrayInputStream(new byte[0]); doSetBinaryStream(bais,100); bais = new ByteArrayInputStream(buf); doSetBinaryStream(bais,0); bais = new ByteArrayInputStream(buf); doSetBinaryStream(bais,10); bais = new ByteArrayInputStream(buf); doSetBinaryStream(bais,100); } public void testSetAsciiStream() throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintWriter pw = new PrintWriter(new OutputStreamWriter(baos,"ASCII")); pw.println("Hello"); pw.flush(); ByteArrayInputStream bais; bais = new ByteArrayInputStream(baos.toByteArray()); doSetAsciiStream(bais, 0); bais = new ByteArrayInputStream(baos.toByteArray()); doSetAsciiStream(bais, 6); bais = new ByteArrayInputStream(baos.toByteArray()); doSetAsciiStream(bais, 100); } private void doSetBinaryStream(ByteArrayInputStream bais, int length) throws SQLException { PreparedStatement pstmt = conn.prepareStatement("INSERT INTO streamtable (bin,str) VALUES (?,?)"); pstmt.setBinaryStream(1,bais, length); pstmt.setString(2,null); pstmt.executeUpdate(); pstmt.close(); } private void doSetAsciiStream(InputStream is, int length) throws SQLException { PreparedStatement pstmt = conn.prepareStatement("INSERT INTO streamtable (bin,str) VALUES (?,?)"); pstmt.setBytes(1,null); pstmt.setAsciiStream(2, is, length); pstmt.executeUpdate(); pstmt.close(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?