1,写大字段,DB2中不需要先放一个empty的对象然后再更新,DB2中对待写大字段就像对待写普通字段一样就可以了,不过要用setCharacterStream。
StringReader reader = new StringReader(data.getFieldValue());
pstmt.setCharacterStream(5, reader, data.getFieldValue()==null?0:data.getFieldValue().length());
2,分页,分页这种是结构性的,只要把组装好的查询语句(不含分页功能的)放到这个方法就可以得到分页的语句了
//offset 从0开始,limit是pageSize
public static String getLimitString(String sql, int offset, int limit) {
int rows=offset+limit;
StringBuffer pagingSelect = new StringBuffer( sql.length()+100 )
.append("SELECT * FROM (")
.append(" SELECT rownumber() over() as rownumber_, row_.*")
.append(" FROM (").append(sql).append(") row_ ")
.append(") temp_ ")
.append("WHERE rownumber_ BETWEEN ").append(offset+1).append(" AND ").append(rows);;
return pagingSelect.toString();
}
3,整型字段类型长度注意
DB2中的整型数字有下面几个,我们常用的System.currentTimeMillis()的长度目前是13位,所以不能用INTEGER,要用 BIGINT
*小整型,SMALLINT:小整型是两个字节的整数,精度为 5 位。小整型的范围从 -32,768 到 32,767。
*大整型,INTEGER 或 INT:大整型是四个字节的整数,精度为 10 位。大整型的范围从 -2,147,483,648 到 2,147,483,647。
*巨整型,BIGINT:巨整型是八个字节的整数,精度为 19 位。巨整型的范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
4,单引号注意
db2中单引号必须严格准确,该有的地方有,不该有的地方不要有。
比如char类型的数据做条件时两边一定要有单引号,数据类型的两边则一定不要有单引号。
StringReader reader = new StringReader(data.getFieldValue());
pstmt.setCharacterStream(5, reader, data.getFieldValue()==null?0:data.getFieldValue().length());
2,分页,分页这种是结构性的,只要把组装好的查询语句(不含分页功能的)放到这个方法就可以得到分页的语句了
//offset 从0开始,limit是pageSize
public static String getLimitString(String sql, int offset, int limit) {
int rows=offset+limit;
StringBuffer pagingSelect = new StringBuffer( sql.length()+100 )
.append("SELECT * FROM (")
.append(" SELECT rownumber() over() as rownumber_, row_.*")
.append(" FROM (").append(sql).append(") row_ ")
.append(") temp_ ")
.append("WHERE rownumber_ BETWEEN ").append(offset+1).append(" AND ").append(rows);;
return pagingSelect.toString();
}
3,整型字段类型长度注意
DB2中的整型数字有下面几个,我们常用的System.currentTimeMillis()的长度目前是13位,所以不能用INTEGER,要用 BIGINT
*小整型,SMALLINT:小整型是两个字节的整数,精度为 5 位。小整型的范围从 -32,768 到 32,767。
*大整型,INTEGER 或 INT:大整型是四个字节的整数,精度为 10 位。大整型的范围从 -2,147,483,648 到 2,147,483,647。
*巨整型,BIGINT:巨整型是八个字节的整数,精度为 19 位。巨整型的范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
4,单引号注意
db2中单引号必须严格准确,该有的地方有,不该有的地方不要有。
比如char类型的数据做条件时两边一定要有单引号,数据类型的两边则一定不要有单引号。