| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -73,30 +73,14 @@ private PreparedStatement getStatement(@NotNull SQLConfig config) throws Excepti | |||
| 73 | 73 | + config.getDBAccount() + "&password=" + config.getDBPassword()); | |
| 74 | 74 | } | |
| 75 | 75 | ||
| 76 | - // statement = connection.prepareStatement("SELECT ?,? FROM sys.apijson_user WHERE sex=? AND id IN (?,?,?)"); //创建Statement对象 | ||
| 77 | - //// Object[] values = config.getWhere().values().toArray(); | ||
| 78 | - //// if (values != null && values.length > 0) { | ||
| 79 | - //// for (int i = 0; i < values.length; i++) { | ||
| 80 | - //// statement.setObject(i + 1, values[i]); | ||
| 81 | - //// } | ||
| 82 | - //// } | ||
| 83 | - // | ||
| 84 | - // statement.setObject(1, "id"); | ||
| 85 | - // statement.setObject(2, "name"); | ||
| 86 | - // statement.setObject(3, 0); | ||
| 87 | - // statement.setObject(4, 82001); | ||
| 88 | - // statement.setObject(5, 82002); | ||
| 89 | - // statement.setObject(6, 38710); | ||
| 90 | - | ||
| 91 | - statement = connection.prepareStatement(config.getSQL(true)); //创建Statement对象 | ||
| 92 | - List<Object> valueList = config.getPreparedValues(); | ||
| 76 | + statement = connection.prepareStatement(config.getSQL(config.isPrepared())); //创建Statement对象 | ||
| 77 | + List<Object> valueList = config.isPrepared() ? config.getPreparedValueList() : null; | ||
| 93 | 78 | if (valueList != null && valueList.isEmpty() == false) { | |
| 94 | 79 | for (int i = 0; i < valueList.size(); i++) { | |
| 95 | 80 | statement.setString(i + 1, "" + valueList.get(i)); | |
| 96 | 81 | } | |
| 97 | 82 | } | |
| 98 | 83 | ||
| 99 | - | ||
| 100 | 84 | return statement; | |
| 101 | 85 | } | |
| 102 | 86 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -515,6 +515,7 @@ public JSONObject parseCorrectResponse(String table, JSONObject response) throws | |||
| 515 | 515 | public JSONObject getStructure(@NotNull String table, String key, String value, int version) throws Exception { | |
| 516 | 516 | //获取指定的JSON结构 <<<<<<<<<<<<<< | |
| 517 | 517 | SQLConfig config = createSQLConfig().setMethod(GET).setTable(table); | |
| 518 | + config.setPrepared(false); | ||
| 518 | 519 | config.setColumn("structure"); | |
| 519 | 520 | ||
| 520 | 521 | Map<String, Object> where = new HashMap<String, Object>(); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -79,7 +79,7 @@ public abstract class AbstractSQLConfig implements SQLConfig { | |||
| 79 | 79 | ||
| 80 | 80 | private long id; //Table的id | |
| 81 | 81 | private RequestMethod method; //操作方法 | |
| 82 | - private boolean prepared; //预编译 | ||
| 82 | + private boolean prepared = true; //预编译 | ||
| 83 | 83 | /** | |
| 84 | 84 | * TODO 被关联的表通过就忽略关联的表?(这个不行 User:{"sex@":"/Comment/toId"}) | |
| 85 | 85 | */ | |
@@ -132,11 +132,14 @@ public AbstractSQLConfig setMethod(RequestMethod method) { | |||
| 132 | 132 | this.method = method; | |
| 133 | 133 | return this; | |
| 134 | 134 | } | |
| 135 | + @Override | ||
| 135 | 136 | public boolean isPrepared() { | |
| 136 | 137 | return prepared; | |
| 137 | 138 | } | |
| 138 | - public void setPrepared(boolean prepared) { | ||
| 139 | + @Override | ||
| 140 | + public AbstractSQLConfig setPrepared(boolean prepared) { | ||
| 139 | 141 | this.prepared = prepared; | |
| 142 | + return this; | ||
| 140 | 143 | } | |
| 141 | 144 | ||
| 142 | 145 | ||
@@ -248,7 +251,13 @@ public AbstractSQLConfig setHaving(String having) { | |||
| 248 | 251 | @JSONField(serialize = false) | |
| 249 | 252 | public String getHavingString() { | |
| 250 | 253 | having = StringUtil.getTrimedString(having); | |
| 251 | - return having.isEmpty() ? "" : " HAVING " + having; | ||
| 254 | + if(having.isEmpty()) { | ||
| 255 | + return ""; | ||
| 256 | + } | ||
| 257 | + if (isPrepared()) { | ||
| 258 | + throw new UnsupportedOperationException("预编译模式下不允许传 @having:\"condition\" !"); | ||
| 259 | + } | ||
| 260 | + return " HAVING " + having; | ||
| 252 | 261 | } | |
| 253 | 262 | ||
| 254 | 263 | @Override | |
@@ -646,7 +655,7 @@ private Object getValue(@NotNull Object value) { | |||
| 646 | 655 | return "'" + value + "'"; | |
| 647 | 656 | } | |
| 648 | 657 | @Override | |
| 649 | - public List<Object> getPreparedValues() { | ||
| 658 | + public List<Object> getPreparedValueList() { | ||
| 650 | 659 | return preparedValues; | |
| 651 | 660 | } | |
| 652 | 661 | ||
@@ -797,6 +806,11 @@ public String getRangeString(String key, Object range) throws Exception { | |||
| 797 | 806 | if (condition.isEmpty()) { | |
| 798 | 807 | return ""; | |
| 799 | 808 | } | |
| 809 | + | ||
| 810 | + if (isPrepared()) { | ||
| 811 | + throw new UnsupportedOperationException("预编译模式下不允许传 key{}:\"condition\" !"); | ||
| 812 | + } | ||
| 813 | + | ||
| 800 | 814 | return getCondition(logic.isNot(), condition); | |
| 801 | 815 | } | |
| 802 | 816 | ||
@@ -999,8 +1013,7 @@ public static String getRemoveString(String key, Object value) throws IllegalArg | |||
| 999 | 1013 | @JSONField(serialize = false) | |
| 1000 | 1014 | @Override | |
| 1001 | 1015 | public String getSQL(boolean prepared) throws Exception { | |
| 1002 | - setPrepared(prepared); | ||
| 1003 | - return getSQL(this); | ||
| 1016 | + return getSQL(this.setPrepared(prepared)); | ||
| 1004 | 1017 | } | |
| 1005 | 1018 | /** | |
| 1006 | 1019 | * @param config | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -113,10 +113,18 @@ public void close() { | |||
| 113 | 113 | */ | |
| 114 | 114 | @Override | |
| 115 | 115 | public JSONObject execute(SQLConfig config) throws Exception { | |
| 116 | - | ||
| 117 | - final String sql = config == null ? null : config.getSQL(false); | ||
| 116 | + if (config == null) { | ||
| 117 | + Log.e(TAG, "select config==null >> return null;"); | ||
| 118 | + return null; | ||
| 119 | + } | ||
| 120 | + boolean prepared = config.isPrepared(); | ||
| 121 | + | ||
| 122 | + final String sql = config.getSQL(false); | ||
| 123 | + | ||
| 124 | + config.setPrepared(prepared); | ||
| 125 | + | ||
| 118 | 126 | if (StringUtil.isNotEmpty(sql, true) == false) { | |
| 119 | - Log.e(TAG, "select config==null||StringUtil.isNotEmpty(config.getSQLTable(), true)==false>>return null;"); | ||
| 127 | + Log.e(TAG, "select StringUtil.isNotEmpty(sql, true) == false >> return null;"); | ||
| 120 | 128 | return null; | |
| 121 | 129 | } | |
| 122 | 130 | JSONObject result = null; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -52,7 +52,7 @@ public interface SQLConfig { | |||
| 52 | 52 | * @return | |
| 53 | 53 | * @throws Exception | |
| 54 | 54 | */ | |
| 55 | - String getSQL(boolean isPrepared) throws Exception; | ||
| 55 | + String getSQL(boolean prepared) throws Exception; | ||
| 56 | 56 | ||
| 57 | 57 | ||
| 58 | 58 | ||
@@ -154,5 +154,9 @@ public interface SQLConfig { | |||
| 154 | 154 | SQLConfig putWhere(String key, Object value); | |
| 155 | 155 | ||
| 156 | 156 | ||
| 157 | - List<Object> getPreparedValues(); | ||
| 157 | + boolean isPrepared(); | ||
| 158 | + | ||
| 159 | + AbstractSQLConfig setPrepared(boolean prepared); | ||
| 160 | + | ||
| 161 | + List<Object> getPreparedValueList(); | ||
| 158 | 162 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments