{"rsdb":{"rid":"87963","subhead":"","postdate":"0","aid":"65324","fid":"76","uid":"1","topic":"1","content":"
\n \u5728JadePool\u4e2d\uff0c\u9664\u4e86\u5e38\u89c4\u7684\u66f4\u65b0\u65b9\u6cd5\u4e4b\u5916\uff0c\u8fd8\u6709\u4ee5\u4e0b\u66f4\u65b0\u8bb0\u5f55\u7684\u65b9\u6cd5\uff0c \n
\n \n <\/div> \n
\n 1\u3001public int update(String tableName, Map mapRecord, String where) throws SQLException\/\/\u6839\u636e\u6761\u4ef6\u66f4\u65b0\u5355\u6761\u8bb0\u5f55\n <\/div> \n
\n 2\u3001public int update(String tableName, Map mapRecord) throws SQLException\/\/\u66f4\u65b0\u5355\u6761\u8bb0\u5f55\n <\/div> \n
\n 3\u3001public int update(String tableName, List listRecord) throws SQLException \/\/\u66f4\u65b0\u591a\u6761\u8bb0\u5f55\uff0c\u4e3b\u952e\u503c\u4e0d\u53d8\n <\/div> \n
\n 4\u3001public int update(String tableName, List listRecord, String where) throws SQLException \/\/\u6839\u636ewhere\u6761\u4ef6\uff0c\u66f4\u65b0\u591a\u6761\u8bb0\u5f55\uff0c\u4e3b\u952e\u503c\u4e0d\u53d8\n <\/div> \n
\n \n <\/div> \n
\n \u5b83\u4eec\u90fd\u8c03\u7528\u5e95\u5c42\u6700\u6838\u5fc3\u7684\u65b9\u6cd5\n <\/div> \n
\n private int _preparedStatementUpdate(String tableName, List listRecord, boolean isUpdateKey, String whereStr) throws SQLException\n <\/div> \n
\n \n <\/div> \n
\n \u5c06\u4f7f\u7528\u53c2\u6570Map\u53d8\u91cf\u6216\u8005\u662fList\u53d8\u91cf\u66f4\u65b0\n \u6570\u636e\u5e93<\/a>\u8868\u4e2d\u7684\u8bb0\u5f55\uff0c\u5f85\u66f4\u65b0\u7684\u8bb0\u5f55\u7684\u6761\u4ef6\u662f\u4e3b\u952e\u503c\u7b49\u4e8emapRecord.get(\u4e3b\u952e\u540d)\uff0c\u5728\u8fd9\u4e00\u7ec4\u64cd\u4f5c\u4e2d\uff0c\u4e3b\u952e\u503c\u4e0d\u53d8\u3002\n <\/div> \n
\n \n <\/div> \n
\n \u5e95\u5c42\u6838\u5fc3\u65b9\u6cd5_preparedStatementUpdate\u540c__preparedStatementInsert\u7684\u5171\u540c\u70b9\u6709\u4ee5\u4e0b\u51e0\u70b9\uff1a\n <\/div> \n
\n 1\u3001\u63d2\u5165\u8bed\u53e5\u6216\u66f4\u65b0\u8bed\u53e5\u53ea\u9700\u8981\u5408\u6210\u4e00\u6b21\uff1b\n <\/div> \n
\n 2\u3001\u90fd\u652f\u6301\u76f8\u540c\u7684SQL\u6570\u636e\u7c7b\u578b\u53ca\u5176\u5bf9\u5e94\u7684\n Java<\/a>\u7c7b\uff1b\n <\/div> \n
\n 3\u3001\u90fd\u9700\u8981\u5b9e\u73b0\u76f8\u540c\u7684\u901a\u914d\u7b26\u5bf9\u5e94\u7684\u8d4b\u503c\u65b9\u6cd5\uff08\u53c2\u89c1\u201cSQL\u6570\u636e\u7c7b\u578b\u4e0eJava\u7c7b\u7684\u5bf9\u5e94\u5173\u7cfb\u201d\u4e00\u6587\uff09\uff1b\n <\/div> \n
\n 4\u3001\u90fd\u6574\u5408\u76f8\u540c\u7684\u5f02\u5e38\uff0c\u7edf\u4e00\u629b\u51faSQLException\u5f02\u5e38\u3002\n <\/div> \n
\n \n <\/div> \n
\n \u5e95\u5c42\u6838\u5fc3\u65b9\u6cd5_preparedStatementUpdate\u540c__preparedStatementInsert\u7684\u533a\u522b\u5728\u4e8e\uff1a\n <\/div> \n
\n 1\u3001\u5408\u6210PreparedStatement\u7684\u66f4\u65b0\u8bed\u53e5\uff1b\n <\/div> \n
\n 2\u3001\u66f4\u65b0\u6570\u636e\u65f6\uff0c\u4fdd\u6301\u4e3b\u952e\u503c\u4e0d\u53d8\u3002\n <\/div> \n
\n \n <\/div> \n
\n \u5408\u6210PreparedStatement\u7684\u66f4\u65b0\u8bed\u53e5\u7684\u7b97\u6cd5\u662f\uff1a\n <\/div> \n
\n \n <\/div> \n
\n [java<\/a>] \n <\/div> \n
\n Map _m = new LinkedHashMap(listRecord.get(0));\/\/\u83b7\u53d6\u4e00\u6761\u8bb0\u5f55\uff0c\u4f5c\u4e3a\u8fc7\u6ee4\u3001\u5206\u7ec4\u4f9d\u636e \n <\/div> \n
\n String[] tableFields = db.getFields(tableName);\/\/\u8868\u4e2d\u7684\u5b57\u6bb5 \n <\/div> \n
\n String[] tableKeys = db.getKeys(tableName);\/\/\u8868\u4e2d\u7684\u4e3b\u952e \n <\/div> \n
\n Object[] recordFields = (_m.keySet()).toArray(); \/\/\u83b7\u53d6\u8bb0\u5f55\u91cc\u7684\u5b57\u6bb5\u540d\u7684\u96c6\u5408 \n <\/div> \n
\n for (int i = 0; i < recordFields.length; i++) { \n <\/div> \n
\n if (!tool.isInFields(tableFields, recordFields[i].toString())) { \n <\/div> \n
\n _m.remove(recordFields[i].toString());\/\/\u79fb\u9664\u65e0\u6548\u5b57\u6bb5\uff0c \u67e5\u770b\u8bb0\u5f55\u4e2d\u7684\u5b57\u6bb5\u5728\u8868\u4e2d\u662f\u5426\u5b58\u5728\uff0c\u5982\u679c\u4e0d\u5b58\u5728\uff0c\u5219\u79fb\u9664\u5230 \n <\/div> \n
\n } \n <\/div> \n
\n } \n <\/div> \n
\n Object[] k0 = (_m.keySet()).toArray(); \/\/\u8fc7\u6ee4\u540e\u7684\u6709\u6548\u5b57\u6bb5 \n <\/div> \n
\n Map key_m = new LinkedHashMap();\/\/\u8bb0\u5f55\u91cc\u7684\u4e3b\u952e \n <\/div> \n
\n if (!isUpdateKey) { \n <\/div> \n
\n for (int i = 0; i < k0.length; i++) { \n <\/div> \n
\n if (tool.isInFields(tableKeys, k0[i].toString())) {\/\/\u8bb0\u5f55\u4e2d\u662f\u5426\u6709\u4e3b\u952e \n <\/div> \n
\n key_m.put(k0[i].toString(), _m.remove(k0[i].toString()));\/\/\u5c06\u8bb0\u5f55\u4e2d\u7684\u4e3b\u952e\u79fb\u5230key_m\u4e2d\uff1b\u4fdd\u8bc1\u4e0d\u5bf9\u4e3b\u952e\u66f4\u65b0 \n <\/div> \n
\n } \n <\/div> \n
\n } \n <\/div> \n
\n } \n <\/div> \n
\n Object[] fields = (_m.keySet()).toArray(); \/\/\u8bb0\u5f55\u4e2d\u4e0d\u5305\u542b\u4e3b\u952e\u7684\u6709\u6548\u5b57\u6bb5\uff1b\u518d\u6b21\u8fc7\u6ee4\u6389\u4e3b\u952e\u5b57\u6bb5\u7684\u7ed3\u679c \n <\/div> \n
\n Object[] keys = (key_m.keySet()).toArray(); \/\/\u8bb0\u5f55\u4e2d\u5305\u542b\u7684\u4e3b\u952e \n <\/div> \n
\n \n <\/div> \n
\n \n <\/div> \n
\n if (isUpdateKey) { \n <\/div> \n
\n if (keys.length == 0 || keys.length != tableKeys.length) { \n <\/div> \n
\n return num; \n <\/div> \n
\n } \n <\/div> \n
\n } \n <\/div> \n
\n \n <\/div> \n
\n \n <\/div> \n
\n String[] kss = new String[fields.length]; \/\/\u4fdd\u5b58\"\u952e\u540d= \" \n <\/div> \n
\n for (int i = 0; i < fields.length; i++) { \n <\/div> \n
\n kss[i] = fields[i].toString() + \"= \"; \n <\/div> \n
\n } \n <\/div> \n
\n \n <\/div> \n
\n String n_v = tool.arryToString(kss, \",\"); \n <\/div> \n
\n \n <\/div> \n
\n String preparedStatementUpdate = \"update \" + tableName + \" set \" + n_v + \" \"; \n <\/div> \n
\n \/\/System.out.println(preparedStatementUpdate); \n <\/div> \n
\n \n <\/div> \n
\n \u5b8c\u6574\u7684_preparedStatementUpdate\u4ee3\u7801\n <\/div> \n
\n [java<\/a>] \n <\/div> \n
\n * \u4f7f\u7528PreparedStatement\u66f4\u65b0\u591a\u6761\u8bb0\u5f55 \u672c\u65b9\u6cd5\u662f\u6839\u636eJDBC API\u7c7b\u540d\u7684\u5224\u65ad\u6765\u5b58\u8d2e\u6570\u636e \n <\/div> \n
\n * \u4e3a\u4e86\u65b9\u4fbf\u8868\u5355\u6570\u636e\u7684\u5f55\u5165,\u672c\u65b9\u6cd5\u63d0\u4f9b\u4e86\u7528\u5b57\u7b26\u4e32\u6765\u8868\u8fbeInteger|Long|Short|Float|Double|Bigdecimal|java.sql.Date\u7b49\u5e38\u89c4\u7c7b\u578b\u7684\u652f\u6301, \n <\/div> \n
\n * \u4f46\u8bf7\u6ce8\u610f:\u7528\u5b57\u7b26\u4e32\u8868\u8fbeDate\u65f6,\u76ee\u524djava.sql.Date\u4ec5\u652f\u6301\u5c06\"yyyy-mm-dd\"\u683c\u5f0f\u8f6c\u6362\u6210Date\u5bf9\u8c61; \n <\/div> \n
\n * \u5bf9\u4e8e\u5176\u5b83\u7c7b\u578b,\u7528\u6237\u5fc5\u987b\u5efa\u7acb\u76f8\u5e94\u7c7b\u578b\u7684\u5bf9\u8c61; \u672c\u65b9\u6cd5\u63d0\u4f9b\u4e86\u5bf9\u4e0a\u4f20\u6587\u4ef6\u7684\u652f\u6301; \u96f6\u957f\u5ea6\u5b57\u7b26\u4e32\u5c06\u4fdd\u5b58\u4e3anull\u3002 \n <\/div> \n
\n * \u8be6\u7ec6\u7684\u6570\u636e\u7c7b\u578b\uff0c\u53ef\u53c2\u9605\u300aJava\u5f00\u53d1\u8005\u5e74\u9274\u300bp700 PreparedStatement\u7684setXXX\u65b9\u6cd5 \n <\/div> \n
\n * \n <\/div> \n
\n * \n <\/div> \n
\n * \u5b8c\u6210\u66f4\u65b0\u7684\u6b65\u9aa4\uff1a 1\u3001\u8fc7\u6ee4\u8bb0\u5f55\u4e2d\u65e0\u6548\u5b57\u6bb5\uff0c\u5f97\u6709\u6548\u5b57\u6bb5Object[] fields \n <\/div> \n
\n * 2\u3001\u6839\u636eisUpdateKey\u5bf9\u6709\u6548\u5b57\u6bb5\u7ee7\u7eed\u5206\u7ec4\uff1a!true\u65f6\uff0c\u518d\u5f97\u4e3b\u952e\u5b57\u6bb5\u7ec4Object[] keys\u548c\u975e\u4e3b\u952e\u5b57\u6bb5\u7ec4Object[] \n <\/div> \n
\n * fields 3\u3001\u81ea\u52a8\u751f\u6210PreparedStatement\u6240\u9700\u7684\u66f4\u65b0\u64cd\u4f5c 4\u3001\u8fed\u4ee3\u8bb0\u5f55for (Map record : \n <\/div> \n
\n * listRecord) {} 5\u3001\u6267\u884cPreparedStatement\u7684executeUpdate(updateSQL); \n <\/div> \n
\n * \n <\/div> \n
\n * \n <\/div> \n
\n * @param tableNam","orderid":"0","title":"\u5b9e\u73b0\u901a\u7528\u7684PreparedStatement\u66f4\u65b0\u8bb0\u5f55\u7684\u65b9\u6cd5(\u4e00)","smalltitle":"","mid":"0","fname":"JAVA","special_id":"0","bak_id":"0","info":"0","hits":"1767","pages":"6","comments":"0","posttime":"2014-11-24 12:04:54","list":"1416801894","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"\u5b9e\u73b0<\/A> \u901a\u7528<\/A> PreparedStatement<\/A> \u65b0\u8bb0\u5f55<\/A> \u65b9\u6cd5<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"114.215.104.12","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"\u5b9e\u73b0\u901a\u7528\u7684PreparedStatement\u66f4\u65b0\u8bb0\u5f55\u7684\u65b9\u6cd5","lastview":"1713453290","digg_num":"7778","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}