SQL字段类型与Java类的对应关系
使用PreparedStatement插入记录的过程,首先是调用预插入语句创建PreparedStatement对象,如在上一篇中的示意性代码:
java.util.Calendar calendar = new GregorianCalendar(2013, 3 - 1, 13); Object value = new Object(); int index = 1; int int_sqlType = java.sql.Types.INTEGER;//4 int int_scaleOrLength = 4; int bytes_size = 256; int int_length = 10; long long_length = 10l; String str_sqlTypeName = "LONG"; //以下是实现通配符所对应的示意性方法,涉及到共计约28个Java数据类型,将近50个方法。 pstmt.setArray(index, (java.sql.Array) value); pstmt.setAsciiStream(index, (java.io.InputStream) value); pstmt.setAsciiStream(index, (java.io.InputStream) value, int_length); pstmt.setAsciiStream(index, (java.io.InputStream) value, long_length); pstmt.setBigDecimal(index, (java.math.BigDecimal) value); pstmt.setBinaryStream(index, (java.io.InputStream) value); pstmt.setBinaryStream(index, (java.io.InputStream) value, int_length); pstmt.setBinaryStream(index, (java.io.InputStream) value, long_length); pstmt.setBlob(index, (java.sql.Blob) value); pstmt.setBlob(index, (java.io.InputStream) value); pstmt.setBlob(index, (java.io.InputStream) value, long_length); pstmt.setBoolean(index, (Boolean) value); pstmt.setByte(index, (byte) 30); pstmt.setBytes(index, (byte[]) value); pstmt.setCharacterStream(index, (java.io.Reader) value); pstmt.setCharacterStream(index, (java.io.Reader) value, int_length); pstmt.setCharacterStream(index, (java.io.Reader) value, long_length); pstmt.setClob(index, (java.sql.Clob) value); pstmt.setClob(index, (java.io.Reader) value); pstmt.setClob(index, (java.io.Reader) value, long_length); pstmt.setDate(index, (java.sql.Date) value); pstmt.setDate(index, (java.sql.Date) value, calendar); pstmt.setDouble(index, (java.lang.Double) value); pstmt.setFloat(index, (java.lang.Float) value); pstmt.setInt(index, (java.lang.Integer) value); pstmt.setLong(index, (java.lang.Long) value); pstmt.setNCharacterStream(index, (java.io.Reader) value); pstmt.setNCharacterStream(index, (java.io.Reader) value, 123l); pstmt.setNClob(index, (java.sql.NClob) value); pstmt.setNClob(index, (java.io.Reader) value); pstmt.setNClob(index, (java.io.Reader) value, 123l); pstmt.setNString(index, (String) value); pstmt.setNull(index, int_sqlType); pstmt.setNull(index, int_sqlType, str_sqlTypeName); pstmt.setObject(index, value); pstmt.setObject(index, value, int_sqlType); pstmt.setObject(index, value, int_sqlType, int_scaleOrLength); pstmt.setRef(index, (java.sql.Ref) value); pstmt.setRowId(index, (java.sql.RowId) value); pstmt.setSQLXML(index, (java.sql.SQLXML) value); pstmt.setShort(index, (java.lang.Short) value); pstmt.setString(index, (java.lang.String) value); pstmt.setTime(index, (java.sql.Time) value); pstmt.setTimestamp(index, (java.sql.Timestamp) value); pstmt.setTimestamp(index, (java.sql.Timestamp) value, calendar); pstmt.setURL(index, (java.net.URL) value); pstmt.setUnicodeStream(index, (java.io.InputStream) value, int_length);jadepool-1.0-GBK版本没有完全实现上述通配符所对应的方法,但已经实现了以上常用的方法。JadePool在未来版中,将尽可能的实现上述更多直至全部的方法。