|
|
AIWROKÈí¼þÊý¾Ý¿âMySQLʵʱÄÚÈÝËæ»úµ÷ÓÃ
- //🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- // Ëæ»úµ÷È¡Êý¾Ý¿âÄÚÈÝʾÀý
- // ¸Ã³ÌÐòÑÝʾÈçºÎ´ÓÔ¶³ÌÊý¾Ý¿âÖÐËæ»ú»ñÈ¡ºÍչʾÄÚÈÝ
- printl("===== Ëæ»úµ÷È¡Êý¾Ý¿âÄÚÈÝʾÀý =====");
- var conn = null;
- /**
- * Á¬½ÓÊý¾Ý¿â
- */
- function connectDatabase() {
- try {
- var url = "jdbc:mysql://mysql2.sqlpub.com:3307/chaook";
- var user = "chaook";
- var password = "JAVsRUMHkoJ123xJ";
- var params = "?useSSL=false&characterEncoding=utf8";
-
- printl("ÕýÔÚÁ¬½ÓÊý¾Ý¿â...");
- conn = mysql.getConnection(url, user, password);
- printl("✅ Êý¾Ý¿âÁ¬½Ó³É¹¦");
- return true;
- } catch (e) {
- printl("❌ Êý¾Ý¿âÁ¬½Óʧ°Ü: " + e.message);
- return false;
- }
- }
- /**
- * ´´½¨Ê¾ÀýÄÚÈݱí
- */
- function createContentTable() {
- try {
- var sql = "CREATE TABLE IF NOT EXISTS Ëæ»úÄÚÈݱí (" +
- "ÄÚÈÝID INT AUTO_INCREMENT PRIMARY KEY," +
- "±êÌâ VARCHAR(100) NOT NULL," +
- "ÄÚÈÝ TEXT," +
- "·ÖÀà VARCHAR(50)," +
- "´´½¨Ê±¼ä DATETIME DEFAULT CURRENT_TIMESTAMP" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8";
-
- var stmt = conn.createStatement();
- stmt.executeUpdate(sql);
- stmt.close();
- printl("✅ Ëæ»úÄÚÈÝ±í´´½¨³É¹¦");
- return true;
- } catch (e) {
- printl("❌ ´´½¨Ëæ»úÄÚÈݱíʧ°Ü: " + e.message);
- return false;
- }
- }
- /**
- * ²åÈëʾÀýÄÚÈÝÊý¾Ý
- */
- function insertSampleData() {
- try {
- var contents = [
- {±êÌâ: "½ñÈÕÌìÆø", ÄÚÈÝ: "½ñÌìÌìÆøÇçÀÊ£¬ÍòÀïÎÞÔÆ£¬ÊʺÏÍâ³öÓÎÍæ¡£", ·ÖÀà: "Éú»î"},
- {±êÌâ: "¿Æ¼¼ÐÂÎÅ", ÄÚÈÝ: "×îз¢²¼µÄÖÇÄÜÊÖ»ú²ÉÓÃÁ˸ïÃüÐÔµÄAI¼¼Êõ£¬ÒýÁìÐÐҵг±Á÷¡£", ·ÖÀà: "¿Æ¼¼"},
- {±êÌâ: "½¡¿µÌùÊ¿", ÄÚÈÝ: "ÿÌì¼á³ÖÊÊÁ¿Ô˶¯ÓÐÖúÓÚÌá¸ßÉíÌåÃâÒßÁ¦£¬Ô¤·À¼²²¡¡£", ·ÖÀà: "½¡¿µ"},
- {±êÌâ: "ÃÀÊ³ÍÆ¼ö", ÄÚÈÝ: "Õâ¼Ò²ÍÌüµÄÕÐÅÆ²Ë¿Ú¸Ð¶ÀÌØ£¬ÉîÊÜʳ¿Íϲ°®¡£", ·ÖÀà: "ÃÀʳ"},
- {±êÌâ: "ÂÃÓι¥ÂÔ", ÄÚÈÝ: "Õâ×ù¹Å³ÇÓµÓÐÓÆ¾ÃµÄÀúÊ·ÎÄ»¯£¬ÊÇÓοͱØÈ¥µÄ´ò¿¨µØ¡£", ·ÖÀà: "ÂÃÓÎ"},
- {±êÌâ: "ѧϰ·½·¨", ÄÚÈÝ: "²ÉÓ÷¬Çѹ¤×÷·¨¿ÉÒÔÓÐЧÌá¸ßѧϰЧÂÊ£¬ÖµµÃ³¢ÊÔ¡£", ·ÖÀà: "½ÌÓý"},
- {±êÌâ: "Àí²Æ½¨Òé", ÄÚÈÝ: "¶¨ÆÚ´¢ÐîºÍͶ×Ê×éºÏÊDzƸ»ÔöÖµµÄÓÐЧ;¾¶¡£", ·ÖÀà: "²Æ¾"},
- {±êÌâ: "µçÓ°×ÊѶ", ÄÚÈÝ: "Õⲿ¿Æ»Ã´óÆ¬ÌØÐ§Õ𺳣¬¾çÇé¿ÛÈËÐÄÏÒ£¬²»ÈÝ´í¹ý¡£", ·ÖÀà: "ÓéÀÖ"},
- {±êÌâ: "ÒôÀÖÐÀÉÍ", ÄÚÈÝ: "ÕâÊ׹ŵäÀÖÇúÐýÂÉÓÅÃÀ£¬Äܹ»ÌÕÒ±Çé²Ù£¬·ÅËÉÐÄÇé¡£", ·ÖÀà: "ÓéÀÖ"},
- {±êÌâ: "¶ÁÊé·ÖÏí", ÄÚÈÝ: "ÕⱾС˵Çé½Úµøå´Æð·ü£¬ÈËÎï¿Ì»Éú¶¯£¬ÖµµÃÒ»¶Á¡£", ·ÖÀà: "ÎÄ»¯"}
- ];
-
- var checkSql = "SELECT COUNT(*) AS total FROM Ëæ»úÄÚÈݱí";
- var stmt = conn.createStatement();
- var rs = stmt.executeQuery(checkSql);
- rs.next();
- var count = rs.getInt("total");
- rs.close();
- stmt.close();
-
- // Èç¹û±íÖÐÒÑÓÐÊý¾Ý£¬Ôò²»ÔÙ²åÈë
- if (count > 0) {
- printl("✅ ±íÖÐÒÑÓÐÊý¾Ý£¬ÎÞÐèÖØ¸´²åÈë");
- return true;
- }
-
- var sql = "INSERT INTO Ëæ»úÄÚÈݱí (±êÌâ, ÄÚÈÝ, ·ÖÀà) VALUES (?, ?, ?)";
- var pstmt = conn.prepareStatement(sql);
-
- var insertedRecords = 0;
- for (var i = 0; i < contents.length; i++) {
- var content = contents[i];
- pstmt.setString(1, content.±êÌâ);
- pstmt.setString(2, content.ÄÚÈÝ);
- pstmt.setString(3, content.·ÖÀà);
-
- pstmt.executeUpdate();
- insertedRecords++;
- }
- pstmt.close();
-
- printl("✅ ³É¹¦²åÈë " + insertedRecords + " ÌõʾÀýÄÚÈÝ");
- return true;
- } catch (e) {
- printl("❌ ²åÈëʾÀýÄÚÈÝʧ°Ü: " + e.message);
- return false;
- }
- }
- /**
- * Ëæ»ú»ñȡһÌõÄÚÈÝ
- */
- function getRandomContent() {
- try {
- // ÏÈ»ñÈ¡×ܼǼÊý
- var countSql = "SELECT COUNT(*) AS total FROM Ëæ»úÄÚÈݱí";
- var stmt = conn.createStatement();
- var rs = stmt.executeQuery(countSql);
- rs.next();
- var totalCount = rs.getInt("total");
- rs.close();
- stmt.close();
-
- if (totalCount <= 0) {
- printl("⚠️ ÄÚÈݱíΪ¿Õ£¬Ã»ÓпÉËæ»ú»ñÈ¡µÄÄÚÈÝ");
- return null;
- }
-
- // Éú³ÉËæ»úÆ«ÒÆÁ¿
- var randomOffset = Math.floor(Math.random() * totalCount);
-
- // »ñÈ¡Ëæ»úÄÚÈÝ
- var sql = "SELECT ÄÚÈÝID, ±êÌâ, ÄÚÈÝ, ·ÖÀà, ´´½¨Ê±¼ä FROM Ëæ»úÄÚÈݱí LIMIT 1 OFFSET ?";
- var pstmt = conn.prepareStatement(sql);
- pstmt.setInt(1, randomOffset);
- rs = pstmt.executeQuery();
-
- var content = null;
- if (rs.next()) {
- content = {
- id: rs.getInt("ÄÚÈÝID"),
- title: rs.getString("±êÌâ"),
- content: rs.getString("ÄÚÈÝ"),
- category: rs.getString("·ÖÀà"),
- createTime: rs.getTimestamp("´´½¨Ê±¼ä")
- };
- }
-
- rs.close();
- pstmt.close();
-
- return content;
- } catch (e) {
- printl("❌ Ëæ»ú»ñÈ¡ÄÚÈÝʧ°Ü: " + e.message);
- return null;
- }
- }
- /**
- * Ëæ»ú»ñȡָ¶¨·ÖÀàµÄÄÚÈÝ
- */
- function getRandomContentByCategory(category) {
- try {
- // ÏÈ»ñȡָ¶¨·ÖÀàµÄ×ܼǼÊý
- var countSql = "SELECT COUNT(*) AS total FROM Ëæ»úÄÚÈݱí WHERE ·ÖÀà = ?";
- var pstmt = conn.prepareStatement(countSql);
- pstmt.setString(1, category);
- var rs = pstmt.executeQuery();
- rs.next();
- var totalCount = rs.getInt("total");
- rs.close();
- pstmt.close();
-
- if (totalCount <= 0) {
- printl("⚠️ ·ÖÀà '" + category + "' ÏÂûÓÐÄÚÈÝ");
- return null;
- }
-
- // Éú³ÉËæ»úÆ«ÒÆÁ¿
- var randomOffset = Math.floor(Math.random() * totalCount);
-
- // »ñÈ¡Ëæ»úÄÚÈÝ
- var sql = "SELECT ÄÚÈÝID, ±êÌâ, ÄÚÈÝ, ·ÖÀà, ´´½¨Ê±¼ä FROM Ëæ»úÄÚÈݱí WHERE ·ÖÀà = ? LIMIT 1 OFFSET ?";
- pstmt = conn.prepareStatement(sql);
- pstmt.setString(1, category);
- pstmt.setInt(2, randomOffset);
- rs = pstmt.executeQuery();
-
- var content = null;
- if (rs.next()) {
- content = {
- id: rs.getInt("ÄÚÈÝID"),
- title: rs.getString("±êÌâ"),
- content: rs.getString("ÄÚÈÝ"),
- category: rs.getString("·ÖÀà"),
- createTime: rs.getTimestamp("´´½¨Ê±¼ä")
- };
- }
-
- rs.close();
- pstmt.close();
-
- return content;
- } catch (e) {
- printl("❌ Ëæ»ú»ñÈ¡·ÖÀàÄÚÈÝʧ°Ü: " + e.message);
- return null;
- }
- }
- /**
- * »ñÈ¡ËùÓзÖÀà
- */
- function getAllCategories() {
- try {
- var sql = "SELECT DISTINCT ·ÖÀà FROM Ëæ»úÄÚÈݱí";
- var stmt = conn.createStatement();
- var rs = stmt.executeQuery(sql);
-
- var categories = [];
- while (rs.next()) {
- categories.push(rs.getString("·ÖÀà"));
- }
-
- rs.close();
- stmt.close();
-
- return categories;
- } catch (e) {
- printl("❌ »ñÈ¡·ÖÀàÁбíʧ°Ü: " + e.message);
- return [];
- }
- }
- /**
- * ÊµÊ±Ëæ»úµ÷ÓÃÄÚÈÝÑÝʾ
- */
- function demoRandomContentFetching() {
- printl("\n=== ¿ªÊ¼Ëæ»úÄÚÈݵ÷ÓÃÑÝʾ ===");
-
- // Ëæ»úµ÷ÓÃ5´ÎÄÚÈÝ
- for (var i = 0; i < 5; i++) {
- printl("\n--- µÚ " + (i+1) + " ´ÎËæ»úµ÷Óà ---");
-
- var content = getRandomContent();
- if (content) {
- printl("📌 ±êÌâ: " + content.title);
- printl("📋 ÄÚÈÝ: " + content.content);
- printl("🏷️ ·ÖÀà: " + content.category);
- printl("🕐 ʱ¼ä: " + content.createTime);
- } else {
- printl("❌ δÄÜ»ñÈ¡µ½ÄÚÈÝ");
- }
-
- // ÿ´Îµ÷Óüä¸ô1-3Ã룬ģÄâʵʱµ÷ÓÃ
- var delay = 1000 + Math.floor(Math.random() * 2000);
- java.lang.Thread.sleep(delay);
- }
-
- printl("\n=== °´·ÖÀàËæ»úµ÷ÓÃÑÝʾ ===");
- var categories = getAllCategories();
- if (categories.length > 0) {
- // Ëæ»úÑ¡Ôñ3¸ö·ÖÀà½øÐÐÑÝʾ
- for (var i = 0; i < 3; i++) {
- var randomCategoryIndex = Math.floor(Math.random() * categories.length);
- var category = categories[randomCategoryIndex];
-
- printl("\n--- Ëæ»úµ÷Óà [" + category + "] ·ÖÀàÄÚÈÝ ---");
-
- var content = getRandomContentByCategory(category);
- if (content) {
- printl("📌 ±êÌâ: " + content.title);
- printl("📋 ÄÚÈÝ: " + content.content);
- printl("🏷️ ·ÖÀà: " + content.category);
- printl("🕐 ʱ¼ä: " + content.createTime);
- } else {
- printl("❌ δÄÜ»ñÈ¡µ½ÄÚÈÝ");
- }
-
- // ÿ´Îµ÷Óüä¸ô1-2Ãë
- var delay = 1000 + Math.floor(Math.random() * 1000);
- java.lang.Thread.sleep(delay);
- }
- }
-
- printl("\n✅ Ëæ»úÄÚÈݵ÷ÓÃÑÝʾÍê³É");
- }
- /**
- * ¹Ø±ÕÊý¾Ý¿âÁ¬½Ó
- */
- function closeConnection() {
- try {
- if (conn != null) {
- conn.close();
- }
- printl("✅ Êý¾Ý¿âÁ¬½ÓÒѹرÕ");
- } catch (e) {
- printl("❌ ¹Ø±ÕÁ¬½Óʱ³ö´í: " + e.message);
- }
- }
- // Ö÷³ÌÐòÖ´ÐÐÁ÷³Ì
- try {
- // 1. Á¬½ÓÊý¾Ý¿â
- if (!connectDatabase()) {
- throw new Error("Êý¾Ý¿âÁ¬½Óʧ°Ü");
- }
-
- // 2. ´´½¨ÄÚÈݱí
- if (!createContentTable()) {
- throw new Error("´´½¨ÄÚÈݱíʧ°Ü");
- }
-
- // 3. ²åÈëʾÀýÊý¾Ý
- if (!insertSampleData()) {
- throw new Error("²åÈëʾÀýÊý¾Ýʧ°Ü");
- }
-
- // 4. ÑÝÊ¾Ëæ»úµ÷ÓÃÄÚÈÝ
- demoRandomContentFetching();
-
- } catch (e) {
- printl("❌ ³ÌÐòÖ´Ðйý³ÌÖз¢Éú´íÎó: " + e.message);
- } finally {
- // È·±£Á¬½Ó±»¹Ø±Õ
- closeConnection();
- }
- printl("===== Ëæ»úµ÷È¡Êý¾Ý¿âÄÚÈÝʾÀý½áÊø =====");
¸´ÖÆ´úÂë
|
|