From f6db8a1c52c4dea770413ca21f83d25c0ce8a9fd Mon Sep 17 00:00:00 2001
From: unknown <1527261507@qq.com>
Date: Mon, 27 Feb 2023 17:00:18 +0800
Subject: [PATCH 1/4] wry
---
"\347\216\213\347\232\223/0225/sql1.js" | 9 ++++++
"\347\216\213\347\232\223/0225/sql2.js" | 29 +++++++++++++++++++
"\347\216\213\347\232\223/0225/sql3.js" | 37 +++++++++++++++++++++++++
3 files changed, 75 insertions(+)
create mode 100644 "\347\216\213\347\232\223/0225/sql1.js"
create mode 100644 "\347\216\213\347\232\223/0225/sql2.js"
create mode 100644 "\347\216\213\347\232\223/0225/sql3.js"
diff --git "a/\347\216\213\347\232\223/0225/sql1.js" "b/\347\216\213\347\232\223/0225/sql1.js"
new file mode 100644
index 0000000..715b36b
--- /dev/null
+++ "b/\347\216\213\347\232\223/0225/sql1.js"
@@ -0,0 +1,9 @@
+// ### 作业:第一个能不能使用promise的异步函数,封装下数据库的查询,二 把sequelize 配置完成,至少能查询一个表去看看sequelize的文档,实现curd
+database= {
+ dbName: 'wh',
+ host: '127.0.0.1',
+ port: 3306,
+ user: 'root',
+ password: 'root'
+}
+module.exports = database
\ No newline at end of file
diff --git "a/\347\216\213\347\232\223/0225/sql2.js" "b/\347\216\213\347\232\223/0225/sql2.js"
new file mode 100644
index 0000000..72bf11d
--- /dev/null
+++ "b/\347\216\213\347\232\223/0225/sql2.js"
@@ -0,0 +1,29 @@
+
+
+let mysql = require("mysql");
+let connection = mysql.createConnection({ host: "127.0.0.1", user: "root", password: "root", port: "3306", database: "user" });
+
+connection.connect();
+
+function query(sql){
+ return new Promise((resolve,reject)=>{
+ connection.query(sql,(err,data)=>{
+ if(err!=null){
+ reject(err)
+ }else{
+ resolve(data)
+ }
+ })
+ })
+}
+
+async function useAsync(sql){
+ let conts = await query(sql);
+ console.log(conts);
+ cont.end();
+}
+
+
+var sql = 'select * from user'
+useAsync(sql)
+
diff --git "a/\347\216\213\347\232\223/0225/sql3.js" "b/\347\216\213\347\232\223/0225/sql3.js"
new file mode 100644
index 0000000..a493a11
--- /dev/null
+++ "b/\347\216\213\347\232\223/0225/sql3.js"
@@ -0,0 +1,37 @@
+let config = require('./sql1.js');
+
+const {Sequelize,Model,DataTypes} = require('sequelize');
+
+const sequelize = new Sequelize(config.database,config.user,config.password,{
+ dialect:'mysql',
+ host:config.host,
+ port:config.port,
+ logging:true,
+ timezone:'+08:00',
+ define:{
+ timestamps:false,
+ }
+})
+
+sequelize.sync({force:false})
+
+class user extends Model{}
+user.init({
+ id:{
+ type:DataTypes.INTEGER,
+ allowNull:false,
+ primaryKey: true
+ },
+ name:{
+ type: DataTypes.STRING
+ }
+},{
+ sequelize,
+ modelName:'user',
+ tableName:'user',
+});
+user.findAll().then(name =>{
+ console.log(JSON.stringify(name,null,4));
+})
+
+connection.end()
\ No newline at end of file
--
Gitee
From b25efb94c415e62dd7ca40d2f0b18126787c3848 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E7=9A=93?= <152726107@qq.com>
Date: Wed, 1 Mar 2023 11:30:49 +0800
Subject: [PATCH 2/4] wry
---
"\347\216\213\347\232\223/0301/http.js" | 86 +++++++++++++++++++++++++
1 file changed, 86 insertions(+)
create mode 100644 "\347\216\213\347\232\223/0301/http.js"
diff --git "a/\347\216\213\347\232\223/0301/http.js" "b/\347\216\213\347\232\223/0301/http.js"
new file mode 100644
index 0000000..51bd1fc
--- /dev/null
+++ "b/\347\216\213\347\232\223/0301/http.js"
@@ -0,0 +1,86 @@
+var http = require('http');
+let fs = require('fs');
+let mysql= require('mysql2')
+
+
+var server = http.createServer(async function (request, response) {
+
+ response.writeHead(200, { 'Content-Type': 'text/html;charset=utf-8' });
+
+ console.log(request.method + ': ' + request.url);
+
+ if (request.url.indexOf("/food") > -1) {
+ let params = handelResponce.formatParam(request.url);
+ let bf = handelResponce.readFileByValue(params.name);
+ response.end(bf)
+ } else if (request.url.indexOf('/users') > -1) {
+
+ let data = await handelResponce.handleDbByPromise(request.url);
+ response.end(data);
+ } else {
+
+ response.end('
Wonder Of U
');
+ }
+
+});
+
+server.listen(8080);
+
+console.log('Server is running at http://127.0.0.1:8080/');
+
+let handelResponce = {
+
+ formatParam: function (url) {
+
+ let temArr = url.split("?");
+
+ if (temArr[1] == undefined) return {};
+ let returnObj = {};
+
+ let paramUrl = temArr[1];
+
+ let paramArray = paramUrl.split("&");
+ for (let keyAValue of paramArray) {
+ let tem = keyAValue.split("=");
+ returnObj[tem[0]] = tem[1];
+ }
+ return returnObj;
+ },
+ readFileByValue: function (value) {
+ let bf = fs.readFileSync("./html/" + value + ".html");
+ return bf;
+ },
+
+ handleDb(url, response) {
+ let params = this.formatParam(url);
+ let connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', database: 'user' });
+ connection.connect();
+ let sql = "select * from users where user_id=?";
+ connection.query(sql, [params.userId], (err, data) => {
+ response.end(JSON.stringify(data));
+ });
+ connection.end();
+ },
+
+ async handleDbByPromise(url) {
+ let connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', database: 'user' });
+ connection.connect();
+ let params = this.formatParam(url);
+ let sql = "select * from users where user_id=?";
+ let param = [params.userId];
+ let data = await this.usePromise(sql, param,connection);
+ connection.end();
+ return JSON.stringify(data);
+ },
+ usePromise(sql, params,connection) {
+ return new Promise((resolve, reject) => {
+ connection.query(sql, params, (err, data) => {
+ if (err == null) {
+ resolve(data);
+ } else {
+ reject(err);
+ }
+ })
+ })
+ }
+}
\ No newline at end of file
--
Gitee
From 362dd127103ce042e1078da8d832e8e6e506d3ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E7=9A=93?= <1527261507@qq.com>
Date: Sat, 4 Mar 2023 11:36:26 +0800
Subject: [PATCH 3/4] wry
---
"\347\216\213\347\232\223/0304/demo.js" | 25 ++++++++++
.../0304/html/student.html" | 46 +++++++++++++++++++
2 files changed, 71 insertions(+)
create mode 100644 "\347\216\213\347\232\223/0304/demo.js"
create mode 100644 "\347\216\213\347\232\223/0304/html/student.html"
diff --git "a/\347\216\213\347\232\223/0304/demo.js" "b/\347\216\213\347\232\223/0304/demo.js"
new file mode 100644
index 0000000..8003afe
--- /dev/null
+++ "b/\347\216\213\347\232\223/0304/demo.js"
@@ -0,0 +1,25 @@
+
+let express = require("express");
+let app = express();
+let mysql = require("mysql");
+let fs = require("fs");
+
+
+app.get("/student", (req, res) => {
+ let htmlContent = fs.readFileSync("./html/student.html").toString();
+ res.end(htmlContent);
+})
+
+app.get("/student/api", (req, res) => {
+ res.writeHead(200, { 'Content-Type': 'text/html;charset=utf-8' });
+ let page = req.query.page ? req.query.page : 1;
+ let sql = "select * from student limit " + (page - 1) * 20 + ",20";
+ let connction = mysql.createConnection({ host: "localhost", user: "root", password: "root", database: "student" });
+ connction.connect();
+ connction.query(sql, (err, data) => {
+ res.end(JSON.stringify(data));
+ });
+ connction.end();
+})
+
+app.listen(8080)
\ No newline at end of file
diff --git "a/\347\216\213\347\232\223/0304/html/student.html" "b/\347\216\213\347\232\223/0304/html/student.html"
new file mode 100644
index 0000000..456fbeb
--- /dev/null
+++ "b/\347\216\213\347\232\223/0304/html/student.html"
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+ 表
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
--
Gitee
From 9f642f3c82579e75f6355c0cd285834c26207694 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E7=9A=93?= <1527261507@qq.com>
Date: Tue, 28 Mar 2023 20:47:02 +0800
Subject: [PATCH 4/4] wryyyyy
---
"\347\216\213\347\232\223/snake.7z" | Bin 0 -> 12017905 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 "\347\216\213\347\232\223/snake.7z"
diff --git "a/\347\216\213\347\232\223/snake.7z" "b/\347\216\213\347\232\223/snake.7z"
new file mode 100644
index 0000000000000000000000000000000000000000..216601ca1ef7ac26f43e02195245232e634c61f8
GIT binary patch
literal 12017905
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