{"id":1930,"date":"2022-11-29T15:34:36","date_gmt":"2022-11-29T07:34:36","guid":{"rendered":"https:\/\/qaqaq.top\/?p=1930"},"modified":"2022-11-29T15:34:37","modified_gmt":"2022-11-29T07:34:37","slug":"jdbc%e6%80%bb%e5%a4%8d%e4%b9%a0-%e4%b8%8a%e3%80%81jdbc%e6%80%bb%e5%a4%8d%e4%b9%a0-%e4%b8%8b","status":"publish","type":"post","link":"https:\/\/qaqaq.top\/?p=1930","title":{"rendered":"JDBC\u603b\u590d\u4e60-\u4e0a\u3001JDBC\u603b\u590d\u4e60-\u4e0b"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>01-JDBC\u6982\u8ff0\r\n\r\n2.JDBC\u7684\u7406\u89e3\r\n\u7b80\u5355\u7406\u89e3\u4e3a\uff1aJDBC\uff0c\u662fSUN\u63d0\u4f9b\u7684\u4e00\u5957API\uff0c\u4f7f\u7528\u8fd9\u5957API\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u5177\u4f53\u6570\u636e\u5e93\u7684\u64cd\u4f5c\uff08\u83b7\u53d6\u8fde\u63a5\u3001\u5173\u95ed\u8fde\u63a5\u3001DML\u3001DDL\u3001DCL\uff09\r\n\r\n3.\u597d\u5904\r\n\u4ece\u5f00\u53d1\u7a0b\u5e8f\u5458\u7684\u89d2\u5ea6\uff1a\u4e0d\u9700\u8981\u5173\u6ce8\u5177\u4f53\u7684\u6570\u636e\u5e93\u7684\u7ec6\u8282\u3002\r\n\u4ece\u6570\u636e\u5e93\u5382\u5546\u7684\u89d2\u5ea6\uff1a\u53ea\u9700\u8981\u63d0\u4f9b\u6807\u51c6\u7684\u5177\u4f53\u5b9e\u73b0\u3002\r\n\r\n4.\u6570\u636e\u5e93\u7684\u9a71\u52a8\uff1a\r\n\u6570\u636e\u5e93\u5382\u5546\u9488\u5bf9\u4e8eJDBC\u8fd9\u5957\u63a5\u53e3\uff0c\u63d0\u4f9b\u7684\u5177\u4f53\u5b9e\u73b0\u7c7b\u7684\u96c6\u5408\u3002\r\n\r\n03-Statement\u63a5\u53e3\u5b9e\u73b0CRUD\u64cd\u4f5c\uff08\uff09\r\nStatement\u4f7f\u7528\u7684\u5f0a\u7aef\r\nScanner scan = new Scanner(System.in);\r\nString name = scan.next();\r\n....\r\n\u62fc\u4e32\r\nString sql = \"insert into customers(name,email,birth) values('\" + name + \"','\" + email + \"','\"\" + birth + ')\";\r\nSQL\u6ce8\u5165\uff1a\r\nSELECT user,password FROM user_table WHERE user = '1' or ' AND password = '=1 or '1' = '1'\r\n\r\n\u5176\u4ed6\u95ee\u9898\uff1a\r\nStatement\u6ca1\u529e\u6cd5\u64cd\u4f5cBlob\u7c7b\u578b\u53d8\u91cf\r\nStatement\u5b9e\u73b0\u6279\u91cf\u63d2\u5165\u65f6\uff0c\u6548\u7387\u8f83\u4f4e\r\n\r\n04-PrepareStatement\u66ff\u6362Statement\u5b9e\u73b0CRUD\u64cd\u4f5c\r\n1.PrepareStatement\u7684\u7406\u89e3\r\n\u2460PrepareStatement\u662fStatement\u7684\u5b50\u63a5\u53e3\r\n\u2461\u9884\u7f16\u8bd1SQL\u8bed\u53e5\r\n\u2462\u53ef\u4ee5\u89e3\u51b3Statement\u7684sql\u6ce8\u5165\u95ee\u9898\uff0c\u62fc\u4e32\u95ee\u9898\r\n\r\n\u603b\u7ed3\r\n\u4e24\u79cd\u601d\u60f3\uff1a\r\n\u9762\u5411\u63a5\u53e3\u7f16\u7a0b\u7684\u601d\u60f3\r\nORM\u7f16\u7a0b\u601d\u60f3\r\n\u4e24\u79cd\u6280\u672f\uff1a\r\n1.\u4f7f\u7528\u7ed3\u679c\u96c6\u7684\u5143\u6570\u636e\uff1aResultSetMetaData\r\n\tgetColumnCount():\u83b7\u53d6\u5217\u6570\r\n\tgetColumnLabel:\u83b7\u53d6\u5217\u7684\u522b\u540d\r\n2.\u53cd\u5c04\u7684\u4f7f\u7528\uff08\u2460\u521b\u5efa\u5bf9\u5e94\u7684\u8fd0\u884c\u65f6\u7c7b\u7684\u5bf9\u8c61   \u2461\u5728\u8fd0\u884c\u65f6\uff0c\u52a8\u6001\u7684\u8c03\u7528\u6307\u5b9a\u7684\u8fd0\u884c\u65f6\u7c7b\u7684\u5c5e\u6027\u3001\u65b9\u6cd5\uff09\r\n\r\n\r\n05-PrepareStatement\u53ef\u4ee5\u64cd\u4f5cBlob\u7c7b\u578b\u7684\u53d8\u91cf\u3002\r\n\u5199\u5165\u64cd\u4f5c\u7684\u65b9\u6cd5\uff1asetBlob(InputStream is)\r\n\u8bfb\u53d6\u64cd\u4f5c\u7684\u65b9\u6cd5\uff1a\r\nBlob blob = getBlob(int index);\r\nInputStream is = blob.getBinaryStream();\r\n\r\n06-\u6d4b\u8bd5\u4f7f\u7528PrepareStatement\u5b9e\u73b0\u6279\u91cf\u64cd\u4f5c\uff1a\r\n\u5c42\u6b21\u4e00\uff1a\u4f7f\u7528Statement\u5b9e\u73b0\r\n\u5c42\u6b21\u4e8c\uff1a\u4f7f\u7528PerpaerStatement\u66ff\u6362Statement\r\n\u5c42\u6b21\u4e09\uff1aaddBatch() \/ excuteBatch() \/ clearBatch()\r\n\u5c42\u6b21\u56db\uff1a\u8bbe\u7f6e\u8fde\u63a5\u4e0d\u5141\u8bb8\u81ea\u52a8\u63d0\u4ea4\u6570\u636e\r\n\r\n\u603b\u7ed3\uff1aPerparedStatement\u4e0eStatement\u7684\u5f02\u540c\uff1f\r\n\u2460\u6307\u51fa\u4e8c\u8005\u7684\u5173\u7cfb\uff1f\u63a5\u53e3 \u4e0e \u5b50\u63a5\u53e3\u7684\u5173\u7cfb\r\n\u2461\u5f00\u53d1\u4e2d\uff0cPerparedStatement\u66ff\u6362Statement\r\n\u2462PerparedStatement\u662f\u9884\u7f16\u8bd1SQL\u8bed\u53e5\u7684\r\n\r\n07-\u6570\u636e\u5e93\u7684\u4e8b\u52a1\r\n\u4e8b\u7269\u7684\u6570\u636e\r\n\u56db\u5927\u5c5e\u6027\uff1aACID\r\n1.\u539f\u5b50\u6027\r\n2.\u4e00\u81f4\u6027\r\n3.\u9694\u79bb\u6027\r\n4.\u6301\u4e45\u6027\r\n\u6570\u636e\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u51fa\u73b0\u7684\u95ee\u9898\uff1a\uff08\u9488\u5bf9\u9694\u79bb\u6027\uff09\r\n\u810f\u8bfb\r\n\u4e0d\u53ef\u91cd\u590d\u8bfb\r\n\u5e7b\u8bfb\r\n\u6570\u636e\u5e93\u7684\u56db\u79cd\u9694\u79bb\u7ea7\u522b\uff1a\uff08\u4e00\u81f4\u6027\u548c\u5e76\u53d1\u6027\uff1a\u4e00\u81f4\u6027\u8d8a\u597d\uff0c\u5e76\u53d1\u6027\u8d8a\u5dee\uff09\r\nREAD UNCOMMITTED\uff08\u8bfb\u672a\u63d0\u4ea4\u6570\u636e\uff09\r\nREAD COMMITTED\uff08\u8bfb\u5df2\u63d0\u4ea4\u6570\u636e\uff09\r\nREPEATABLE READ\uff08\u53ef\u91cd\u590d\u8bfb\uff09\r\nSERIALIZABLE\uff08\u4e32\u884c\u5316\uff09\r\n\r\n08-DAO\u53ca\u5176\u5b50\u7c7b\r\n\u603b\u7ed3\uff1a\u8003\u8651\u5230\u4e8b\u52a1\u4ee5\u540e\u7684\u6570\u636e\u5e93\u64cd\u4f5c\uff08\u91cd\u70b9\uff09\r\n1.\u83b7\u53d6\u6570\u636e\u5e93\u7684\u8fde\u63a5\r\nConnection conn = JDBCUtils.getConnection();   \/\/\u65b9\u5f0f1\uff1a\u624b\u52a8\u83b7\u53d6\u8fde\u63a5\t\u65b9\u5f0f2\uff1a\u6570\u636e\u5e93\u8fde\u63a5\u6c60\r\nconn.setAutoCommit(false);\t\t          \/\/\u4f53\u73b0\u4e8b\u52a1\r\n\r\n2.\u5982\u4e0b\u7684\u591a\u4e2aDML\u64cd\u4f5c\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u4e8b\u52a1\u51fa\u73b0\uff1a\r\n\u64cd\u4f5c1\uff1a\u9700\u8981\u4f7f\u7528\u901a\u7528\u7684\u589e\u5220\u6539\u67e5\u64cd\u4f5c\t         \/\/\u901a\u7528\u7684\u589e\u5220\u6539\u67e5\u64cd\u4f5c\u5982\u4f55\u5b9e\u73b0\uff1f\r\n\u64cd\u4f5c2\uff1a\u9700\u8981\u4f7f\u7528\u901a\u7528\u7684\u589e\u5220\u6539\u67e5\u64cd\u4f5c\t         \/\/\u65b9\u5f0f1\uff1a\u624b\u52a8\u4f7f\u7528PreparedStatement\u5b9e\u73b0\r\n\u64cd\u4f5c3\uff1a\u9700\u8981\u4f7f\u7528\u901a\u7528\u7684\u589e\u5220\u6539\u67e5\u64cd\u4f5c\t         \/\/\u65b9\u5f0f2\uff1a\u4f7f\u7528dbutils.jar\u4e2dQueryRunner\u7c7b\r\n\r\nconn.commit();\r\n\r\n3.\u5982\u679c\u51fa\u73b0\u5f02\u5e38\uff0c\u5219\uff1a\r\nconn.rollback();\r\n\r\n4.\u5173\u95ed\u8d44\u6e90\r\nJDBCUtils.closeResource(...,...,...)\t\t         \/\/\u65b9\u5f0f1\uff1a\u624b\u52a8\u5173\u95ed\u8d44\u6e90   \/\/\u65b9\u5f0f2\uff1aDbUtils\u7c7b\u7684\u5173\u95ed\u65b9\u6cd5\r\n\r\n09-\u6570\u636e\u5e93\u8fde\u63a5\u6c60\r\n2.\u5982\u4f55\u89e3\u51b3\u4f20\u7edf\u5f00\u53d1\u4e2d\u7684\u6570\u636e\u5e93\u8fde\u63a5\u95ee\u9898\uff1a\u4f7f\u7528\u6570\u636e\u5e93\u8fde\u63a5\u6c60\r\n3.\u4f7f\u7528\u6570\u636e\u5e93\u8fde\u63a5\u6c60\u7684\u597d\u5904\uff1a\r\n\u81ea\u5df1\u7ec4\u7ec7\u8bed\u8a00\uff1a\r\n\t1.\u63d0\u9ad8\u7a0b\u5e8f\u7684\u54cd\u5e94\u901f\u5ea6\uff08\u51cf\u5c11\u4e86\u521b\u5efa\u8fde\u63a5\u76f8\u5e94\u7684\u65f6\u95f4\uff09\r\n\t2.\u964d\u4f4e\u8d44\u6e90\u7684\u6d88\u8017\uff08\u53ef\u4ee5\u91cd\u590d\u4f7f\u7528\u5df2\u7ecf\u63d0\u4f9b\u597d\u7684\u8fde\u63a5\uff09\r\n\t3.\u4fbf\u4e8e\u8fde\u63a5\u7684\u7ba1\u7406\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-1930","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\/1930"}],"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=1930"}],"version-history":[{"count":1,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1930\/revisions"}],"predecessor-version":[{"id":1931,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1930\/revisions\/1931"}],"wp:attachment":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}