ソースを参照

queryInt queryLong queryFloat queryDouble queryShort 自动转换数据类型

James 8 年 前
コミット
8962648a13
1 ファイル変更15 行追加10 行削除
  1. 15 10
      src/main/java/com/jfinal/plugin/activerecord/DbPro.java

+ 15 - 10
src/main/java/com/jfinal/plugin/activerecord/DbPro.java

@@ -174,35 +174,39 @@ public class DbPro {
 	}
 	}
 	
 	
 	public Integer queryInt(String sql, Object... paras) {
 	public Integer queryInt(String sql, Object... paras) {
-		return (Integer)queryColumn(sql, paras);
+		Number n = queryNumber(sql, paras);
+		return n != null ? n.intValue() : null;
 	}
 	}
 	
 	
 	public Integer queryInt(String sql) {
 	public Integer queryInt(String sql) {
-		return (Integer)queryColumn(sql, NULL_PARA_ARRAY);
+		return queryInt(sql, NULL_PARA_ARRAY);
 	}
 	}
 	
 	
 	public Long queryLong(String sql, Object... paras) {
 	public Long queryLong(String sql, Object... paras) {
-		return (Long)queryColumn(sql, paras);
+		Number n = queryNumber(sql, paras);
+		return n != null ? n.longValue() : null;
 	}
 	}
 	
 	
 	public Long queryLong(String sql) {
 	public Long queryLong(String sql) {
-		return (Long)queryColumn(sql, NULL_PARA_ARRAY);
+		return queryLong(sql, NULL_PARA_ARRAY);
 	}
 	}
 	
 	
 	public Double queryDouble(String sql, Object... paras) {
 	public Double queryDouble(String sql, Object... paras) {
-		return (Double)queryColumn(sql, paras);
+		Number n = queryNumber(sql, paras);
+		return n != null ? n.doubleValue() : null;
 	}
 	}
 	
 	
 	public Double queryDouble(String sql) {
 	public Double queryDouble(String sql) {
-		return (Double)queryColumn(sql, NULL_PARA_ARRAY);
+		return queryDouble(sql, NULL_PARA_ARRAY);
 	}
 	}
 	
 	
 	public Float queryFloat(String sql, Object... paras) {
 	public Float queryFloat(String sql, Object... paras) {
-		return (Float)queryColumn(sql, paras);
+		Number n = queryNumber(sql, paras);
+		return n != null ? n.floatValue() : null;
 	}
 	}
 	
 	
 	public Float queryFloat(String sql) {
 	public Float queryFloat(String sql) {
-		return (Float)queryColumn(sql, NULL_PARA_ARRAY);
+		return queryFloat(sql, NULL_PARA_ARRAY);
 	}
 	}
 	
 	
 	public java.math.BigDecimal queryBigDecimal(String sql, Object... paras) {
 	public java.math.BigDecimal queryBigDecimal(String sql, Object... paras) {
@@ -254,11 +258,12 @@ public class DbPro {
 	}
 	}
 	
 	
 	public Short queryShort(String sql, Object... paras) {
 	public Short queryShort(String sql, Object... paras) {
-		return (Short)queryColumn(sql, paras);
+		Number n = queryNumber(sql, paras);
+		return n != null ? n.shortValue() : null;
 	}
 	}
 	
 	
 	public Short queryShort(String sql) {
 	public Short queryShort(String sql) {
-		return (Short)queryColumn(sql, NULL_PARA_ARRAY);
+		return queryShort(sql, NULL_PARA_ARRAY);
 	}
 	}
 	
 	
 	public Number queryNumber(String sql, Object... paras) {
 	public Number queryNumber(String sql, Object... paras) {