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 0000000000000000000000000000000000000000..715b36b290dd4f131618f55f83338652c457e57f --- /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 0000000000000000000000000000000000000000..72bf11d2e567eeff50f2e7d6db079f1e439ea680 --- /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 0000000000000000000000000000000000000000..a493a11ce7496450d9c4aa145cd74da8966c68e6 --- /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 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 0000000000000000000000000000000000000000..51bd1fc93fef8692f45cac1de2d3cb1145ef1dc3 --- /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 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 0000000000000000000000000000000000000000..8003afe206a1fc97fc479674c2f117eec7463010 --- /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 0000000000000000000000000000000000000000..456fbeb6b52dff7e2cfc4ac007b89efb813a7bfe --- /dev/null +++ "b/\347\216\213\347\232\223/0304/html/student.html" @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file 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 Binary files /dev/null and "b/\347\216\213\347\232\223/snake.7z" differ