{"id":1772,"date":"2022-11-26T22:26:16","date_gmt":"2022-11-26T14:26:16","guid":{"rendered":"https:\/\/qaqaq.top\/?p=1772"},"modified":"2022-11-27T12:40:30","modified_gmt":"2022-11-27T04:40:30","slug":"statement%e6%93%8d%e4%bd%9c%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9a%84%e5%bc%8a%e7%ab%af%e6%bc%94%e7%a4%ba","status":"publish","type":"post","link":"https:\/\/qaqaq.top\/?p=1772","title":{"rendered":"Statement\u64cd\u4f5c\u6570\u636e\u5e93\u7684\u5f0a\u7aef\u6f14\u793a"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>package top.qaqaq.P12.statement.crud;\r\n\r\nimport java.io.InputStream;\r\nimport java.lang.reflect.Field;\r\nimport java.sql.Connection;\r\nimport java.sql.DriverManager;\r\nimport java.sql.ResultSet;\r\nimport java.sql.ResultSetMetaData;\r\nimport java.sql.SQLException;\r\nimport java.sql.Statement;\r\nimport java.util.Properties;\r\nimport java.util.Scanner;\r\n\r\nimport org.junit.Test;\r\n\r\npublic class StatementTest {\r\n\r\n\t\/\/ \u4f7f\u7528Statement\u7684\u5f0a\u7aef\uff1a\u9700\u8981\u62fc\u5199sql\u8bed\u53e5\uff0c\u5e76\u4e14\u5b58\u5728SQL\u6ce8\u5165\u7684\u95ee\u9898\r\n\t\/\/\u5982\u4f55\u907f\u514d\u51fa\u73b0sql\u6ce8\u5165\uff1a\u53ea\u8981\u7528 PreparedStatement(\u4eceStatement\u6269\u5c55\u800c\u6765) \u53d6\u4ee3 Statement\r\n\t@Test\r\n\tpublic void testLogin() {\r\n\t\tScanner scanner = new Scanner(System.in);\r\n\t\t\r\n\t\tSystem.out.print(\"\u8bf7\u8f93\u5165\u7528\u6237\u540d\uff1a\");\r\n\t\tString user = scanner.nextLine();\r\n\t\tSystem.out.print(\"\u8bf7\u8f93\u5165\u5bc6\u7801\uff1a\");\r\n\t\tString password = scanner.next();\r\n\t\t\/\/SELECT user,password FROM user_table WHERE user = '1' or ' AND password = '=1 or '1' = '1'\r\n\t\tString sql = \"SELECT user,password FROM user_table WHERE user = '\" + user + \"' AND password = '\" + password + \"'\";\r\n\t\tUser returnUser = get(sql,User.class);\r\n\t\tif(returnUser != null) {\r\n\t\t\tSystem.out.println(\"\u767b\u9646\u6210\u529f\");\r\n\t\t}else {\r\n\t\t\tSystem.out.println(\"\u7528\u6237\u540d\u4e0d\u5b58\u5728\u6216\u5bc6\u7801\u9519\u8bef\");\r\n\t\t}\r\n\t\t\r\n\t}\r\n\r\n\t\/\/ \u4f7f\u7528Statement\u5b9e\u73b0\u5bf9\u6570\u636e\u8868\u7684\u67e5\u8be2\u64cd\u4f5c\r\n\tpublic &lt;T> T get(String sql, Class&lt;T> clazz) {\r\n\t\tT t = null;\r\n\r\n\t\tConnection conn = null;\r\n\t\tStatement st = null;\r\n\t\tResultSet rs = null;\r\n\t\ttry {\r\n\t\t\t\/\/ 1.\u52a0\u8f7d\u914d\u7f6e\u6587\u4ef6\r\n\t\t\tInputStream is = StatementTest.class.getClassLoader().getResourceAsStream(\"jdbc.properties\");\r\n\t\t\tProperties pros = new Properties();\r\n\t\t\tpros.load(is);\r\n\r\n\t\t\t\/\/ 2.\u8bfb\u53d6\u914d\u7f6e\u4fe1\u606f\r\n\t\t\tString user = pros.getProperty(\"user\");\r\n\t\t\tString password = pros.getProperty(\"password\");\r\n\t\t\tString url = pros.getProperty(\"url\");\r\n\t\t\tString driverClass = pros.getProperty(\"driverClass\");\r\n\r\n\t\t\t\/\/ 3.\u52a0\u8f7d\u9a71\u52a8\r\n\t\t\tClass.forName(driverClass);\r\n\r\n\t\t\t\/\/ 4.\u83b7\u53d6\u8fde\u63a5\r\n\t\t\tconn = DriverManager.getConnection(url, user, password);\r\n\r\n\t\t\tst = conn.createStatement();\r\n\r\n\t\t\trs = st.executeQuery(sql);\r\n\r\n\t\t\t\/\/ \u83b7\u53d6\u7ed3\u679c\u96c6\u7684\u5143\u6570\u636e\r\n\t\t\tResultSetMetaData rsmd = rs.getMetaData();\r\n\r\n\t\t\t\/\/ \u83b7\u53d6\u7ed3\u679c\u96c6\u7684\u5217\u6570\r\n\t\t\tint columnCount = rsmd.getColumnCount();\r\n\r\n\t\t\tif (rs.next()) {\r\n\r\n\t\t\t\tt = clazz.newInstance();\r\n\r\n\t\t\t\tfor (int i = 0; i &lt; columnCount; i++) {\r\n\t\t\t\t\t\/\/ \/\/1. \u83b7\u53d6\u5217\u7684\u540d\u79f0\r\n\t\t\t\t\t\/\/ String columnName = rsmd.getColumnName(i+1);\r\n\r\n\t\t\t\t\t\/\/ 1. \u83b7\u53d6\u5217\u7684\u522b\u540d\r\n\t\t\t\t\tString columnName = rsmd.getColumnLabel(i + 1);\r\n\r\n\t\t\t\t\t\/\/ 2. \u6839\u636e\u5217\u540d\u83b7\u53d6\u5bf9\u5e94\u6570\u636e\u8868\u4e2d\u7684\u6570\u636e\r\n\t\t\t\t\tObject columnVal = rs.getObject(columnName);\r\n\r\n\t\t\t\t\t\/\/ 3. \u5c06\u6570\u636e\u8868\u4e2d\u5f97\u5230\u7684\u6570\u636e\uff0c\u5c01\u88c5\u8fdb\u5bf9\u8c61\r\n\t\t\t\t\tField field = clazz.getDeclaredField(columnName);\r\n\t\t\t\t\tfield.setAccessible(true);\r\n\t\t\t\t\tfield.set(t, columnVal);\r\n\t\t\t\t}\r\n\t\t\t\treturn t;\r\n\t\t\t}\r\n\t\t} catch (Exception e) {\r\n\t\t\te.printStackTrace();\r\n\t\t} finally {\r\n\t\t\t\/\/ \u5173\u95ed\u8d44\u6e90\r\n\t\t\tif (rs != null) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\trs.close();\r\n\t\t\t\t} catch (SQLException e) {\r\n\t\t\t\t\te.printStackTrace();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (st != null) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tst.close();\r\n\t\t\t\t} catch (SQLException e) {\r\n\t\t\t\t\te.printStackTrace();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (conn != null) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconn.close();\r\n\t\t\t\t} catch (SQLException e) {\r\n\t\t\t\t\te.printStackTrace();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n}\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package top.qaqaq.P12.statement.crud;\r\n\r\npublic class User {\r\n\r\n\tprivate String user;\r\n\tprivate String password;\r\n\r\n\tpublic User() {\r\n\t}\r\n\r\n\tpublic User(String user, String password) {\r\n\t\tsuper();\r\n\t\tthis.user = user;\r\n\t\tthis.password = password;\r\n\t}\r\n\r\n\t@Override\r\n\tpublic String toString() {\r\n\t\treturn \"User &#91;user=\" + user + \", password=\" + password + \"]\";\r\n\t}\r\n\r\n\tpublic String getUser() {\r\n\t\treturn user;\r\n\t}\r\n\r\n\tpublic void setUser(String user) {\r\n\t\tthis.user = user;\r\n\t}\r\n\r\n\tpublic String getPassword() {\r\n\t\treturn password;\r\n\t}\r\n\r\n\tpublic void setPassword(String password) {\r\n\t\tthis.password = password;\r\n\t}\r\n\r\n}\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[48],"class_list":["post-1772","post","type-post","status-publish","format-standard","hentry","category-jdbc-code","tag-jdbc"],"_links":{"self":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1772"}],"collection":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1772"}],"version-history":[{"count":1,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1772\/revisions"}],"predecessor-version":[{"id":1773,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1772\/revisions\/1773"}],"wp:attachment":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}