Browse Source

Merge branch 'master' into jfinal-java8

James 8 years ago
parent
commit
6928c1fa5d

+ 3 - 2
src/main/java/com/jfinal/plugin/activerecord/DbPro.java

@@ -166,11 +166,12 @@ public class DbPro {
 	}
 	}
 	
 	
 	public String queryStr(String sql, Object... paras) {
 	public String queryStr(String sql, Object... paras) {
-		return (String)queryColumn(sql, paras);
+		Object s = queryColumn(sql, paras);
+		return s != null ? s.toString() : null;
 	}
 	}
 	
 	
 	public String queryStr(String sql) {
 	public String queryStr(String sql) {
-		return (String)queryColumn(sql, NULL_PARA_ARRAY);
+		return queryStr(sql, NULL_PARA_ARRAY);
 	}
 	}
 	
 	
 	public Integer queryInt(String sql, Object... paras) {
 	public Integer queryInt(String sql, Object... paras) {

+ 3 - 1
src/main/java/com/jfinal/plugin/activerecord/Model.java

@@ -195,7 +195,9 @@ public abstract class Model<M extends Model> implements Serializable {
 	 * Get attribute of mysql type: varchar, char, enum, set, text, tinytext, mediumtext, longtext
 	 * Get attribute of mysql type: varchar, char, enum, set, text, tinytext, mediumtext, longtext
 	 */
 	 */
 	public String getStr(String attr) {
 	public String getStr(String attr) {
-		return (String)attrs.get(attr);
+		// return (String)attrs.get(attr);
+		Object s = attrs.get(attr);
+		return s != null ? s.toString() : null;
 	}
 	}
 	
 	
 	/**
 	/**

+ 3 - 1
src/main/java/com/jfinal/plugin/activerecord/Record.java

@@ -208,7 +208,9 @@ public class Record implements Serializable {
 	 * Get column of mysql type: varchar, char, enum, set, text, tinytext, mediumtext, longtext
 	 * Get column of mysql type: varchar, char, enum, set, text, tinytext, mediumtext, longtext
 	 */
 	 */
 	public String getStr(String column) {
 	public String getStr(String column) {
-		return (String)getColumns().get(column);
+		// return (String)getColumns().get(column);
+		Object s = getColumns().get(column);
+		return s != null ? s.toString() : null;
 	}
 	}
 	
 	
 	/**
 	/**

+ 8 - 6
src/main/java/com/jfinal/plugin/activerecord/dialect/PostgreSqlDialect.java

@@ -222,12 +222,14 @@ public class PostgreSqlDialect extends Dialect {
 			if (model.get(pKey) == null || isOracle()) {
 			if (model.get(pKey) == null || isOracle()) {
 				if (rs.next()) {
 				if (rs.next()) {
 					Class<?> colType = table.getColumnType(pKey);
 					Class<?> colType = table.getColumnType(pKey);
-					if (colType == Integer.class || colType == int.class) {
-						model.set(pKey, rs.getInt(pKey));
-					} else if (colType == Long.class || colType == long.class) {
-						model.set(pKey, rs.getLong(pKey));
-					} else {
-						model.set(pKey, rs.getObject(pKey));
+					if (colType != null) {
+						if (colType == Integer.class || colType == int.class) {
+							model.set(pKey, rs.getInt(pKey));
+						} else if (colType == Long.class || colType == long.class) {
+							model.set(pKey, rs.getLong(pKey));
+						} else {
+							model.set(pKey, rs.getObject(pKey));
+						}
 					}
 					}
 				}
 				}
 			}
 			}