Browse Source

jfinal 3.2 release ^_^

James 8 years ago
parent
commit
42ce8391ba

+ 8 - 0
src/main/java/com/jfinal/plugin/activerecord/dialect/AnsiSqlDialect.java

@@ -371,4 +371,12 @@ public class AnsiSqlDialect extends Dialect {
 		}
 		return result;
 	}
+	
+	public void fillStatement(PreparedStatement pst, List<Object> paras) throws SQLException {
+		fillStatementHandleDateType(pst, paras);
+	}
+	
+	public void fillStatement(PreparedStatement pst, Object... paras) throws SQLException {
+		fillStatementHandleDateType(pst, paras);
+	}
 }

+ 32 - 0
src/main/java/com/jfinal/plugin/activerecord/dialect/Dialect.java

@@ -147,6 +147,38 @@ public abstract class Dialect {
 	public String replaceOrderBy(String sql) {
 		return Holder.ORDER_BY_PATTERN.matcher(sql).replaceAll("");
 	}
+	
+	/**
+	 * fillStatement 时处理日期类型
+	 */
+	protected void fillStatementHandleDateType(PreparedStatement pst, List<Object> paras) throws SQLException {
+		for (int i=0, size=paras.size(); i<size; i++) {
+			Object value = paras.get(i);
+			if (value instanceof java.sql.Date) {
+				pst.setDate(i + 1, (java.sql.Date)value);
+			} else if (value instanceof java.sql.Timestamp) {
+				pst.setTimestamp(i + 1, (java.sql.Timestamp)value);
+			} else {
+				pst.setObject(i + 1, value);
+			}
+		}
+	}
+	
+	/**
+	 * fillStatement 时处理日期类型
+	 */
+	protected void fillStatementHandleDateType(PreparedStatement pst, Object... paras) throws SQLException {
+		for (int i=0; i<paras.length; i++) {
+			Object value = paras[i];
+			if (value instanceof java.sql.Date) {
+				pst.setDate(i + 1, (java.sql.Date)value);
+			} else if (value instanceof java.sql.Timestamp) {
+				pst.setTimestamp(i + 1, (java.sql.Timestamp)value);
+			} else {
+				pst.setObject(i + 1, value);
+			}
+		}
+	}
 }
 
 

+ 2 - 20
src/main/java/com/jfinal/plugin/activerecord/dialect/OracleDialect.java

@@ -210,29 +210,11 @@ public class OracleDialect extends Dialect {
 	}
 	
 	public void fillStatement(PreparedStatement pst, List<Object> paras) throws SQLException {
-		for (int i=0, size=paras.size(); i<size; i++) {
-			Object value = paras.get(i);
-			if (value instanceof java.sql.Date) {
-				pst.setDate(i + 1, (java.sql.Date)value);
-			} else if (value instanceof java.sql.Timestamp) {
-				pst.setTimestamp(i + 1, (java.sql.Timestamp)value);
-			} else {
-				pst.setObject(i + 1, value);
-			}
-		}
+		fillStatementHandleDateType(pst, paras);
 	}
 	
 	public void fillStatement(PreparedStatement pst, Object... paras) throws SQLException {
-		for (int i=0; i<paras.length; i++) {
-			Object value = paras[i];
-			if (value instanceof java.sql.Date) {
-				pst.setDate(i + 1, (java.sql.Date)value);
-			} else if (value instanceof java.sql.Timestamp) {
-				pst.setTimestamp(i + 1, (java.sql.Timestamp)value);
-			} else {
-				pst.setObject(i + 1, value);
-			}
-		}
+		fillStatementHandleDateType(pst, paras);
 	}
 	
 	public String getDefaultPrimaryKey() {

+ 2 - 20
src/main/java/com/jfinal/plugin/activerecord/dialect/PostgreSqlDialect.java

@@ -200,28 +200,10 @@ public class PostgreSqlDialect extends Dialect {
 	}
 	
 	public void fillStatement(PreparedStatement pst, List<Object> paras) throws SQLException {
-		for (int i=0, size=paras.size(); i<size; i++) {
-			Object value = paras.get(i);
-			if (value instanceof java.sql.Date) {
-				pst.setDate(i + 1, (java.sql.Date)value);
-			} else if (value instanceof java.sql.Timestamp) {
-				pst.setTimestamp(i + 1, (java.sql.Timestamp)value);
-			} else {
-				pst.setObject(i + 1, value);
-			}
-		}
+		fillStatementHandleDateType(pst, paras);
 	}
 	
 	public void fillStatement(PreparedStatement pst, Object... paras) throws SQLException {
-		for (int i=0; i<paras.length; i++) {
-			Object value = paras[i];
-			if (value instanceof java.sql.Date) {
-				pst.setDate(i + 1, (java.sql.Date)value);
-			} else if (value instanceof java.sql.Timestamp) {
-				pst.setTimestamp(i + 1, (java.sql.Timestamp)value);
-			} else {
-				pst.setObject(i + 1, value);
-			}
-		}
+		fillStatementHandleDateType(pst, paras);
 	}
 }

+ 10 - 0
src/main/java/com/jfinal/plugin/activerecord/dialect/SqlServerDialect.java

@@ -16,6 +16,8 @@
 
 package com.jfinal.plugin.activerecord.dialect;
 
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -195,6 +197,14 @@ public class SqlServerDialect extends Dialect {
 		ret.append(")vip)mvp where temprownumber>").append(begin);
 		return ret.toString();
 	}
+	
+	public void fillStatement(PreparedStatement pst, List<Object> paras) throws SQLException {
+		fillStatementHandleDateType(pst, paras);
+	}
+	
+	public void fillStatement(PreparedStatement pst, Object... paras) throws SQLException {
+		fillStatementHandleDateType(pst, paras);
+	}
 }
 
 

+ 10 - 1
src/main/java/com/jfinal/plugin/activerecord/dialect/Sqlite3Dialect.java

@@ -16,11 +16,12 @@
 
 package com.jfinal.plugin.activerecord.dialect;
 
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
-
 import com.jfinal.plugin.activerecord.Record;
 import com.jfinal.plugin.activerecord.Table;
 
@@ -182,4 +183,12 @@ public class Sqlite3Dialect extends Dialect {
 		findSql.append(" limit ").append(offset).append(", ").append(pageSize);
 		return findSql.toString();
 	}
+	
+	public void fillStatement(PreparedStatement pst, List<Object> paras) throws SQLException {
+		fillStatementHandleDateType(pst, paras);
+	}
+	
+	public void fillStatement(PreparedStatement pst, Object... paras) throws SQLException {
+		fillStatementHandleDateType(pst, paras);
+	}
 }