육현진

create db table & node.js db connection

1 # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 1 # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 2
3 +#database
4 +/database.json
5 +
3 # dependencies 6 # dependencies
4 /node_modules 7 /node_modules
5 /.pnp 8 /.pnp
......
This diff is collapsed. Click to expand it.
...@@ -46,6 +46,11 @@ ...@@ -46,6 +46,11 @@
46 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 46 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
47 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 47 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
48 }, 48 },
49 + "bignumber.js": {
50 + "version": "9.0.0",
51 + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz",
52 + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A=="
53 + },
49 "body-parser": { 54 "body-parser": {
50 "version": "1.19.0", 55 "version": "1.19.0",
51 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", 56 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
...@@ -170,6 +175,11 @@ ...@@ -170,6 +175,11 @@
170 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 175 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
171 "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 176 "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
172 }, 177 },
178 + "core-util-is": {
179 + "version": "1.0.2",
180 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
181 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
182 + },
173 "date-fns": { 183 "date-fns": {
174 "version": "2.16.1", 184 "version": "2.16.1",
175 "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz", 185 "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz",
...@@ -453,6 +463,11 @@ ...@@ -453,6 +463,11 @@
453 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 463 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
454 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 464 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
455 }, 465 },
466 + "isarray": {
467 + "version": "1.0.0",
468 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
469 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
470 + },
456 "json-parse-better-errors": { 471 "json-parse-better-errors": {
457 "version": "1.0.2", 472 "version": "1.0.2",
458 "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 473 "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
...@@ -521,6 +536,17 @@ ...@@ -521,6 +536,17 @@
521 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 536 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
522 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 537 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
523 }, 538 },
539 + "mysql": {
540 + "version": "2.18.1",
541 + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz",
542 + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==",
543 + "requires": {
544 + "bignumber.js": "9.0.0",
545 + "readable-stream": "2.3.7",
546 + "safe-buffer": "5.1.2",
547 + "sqlstring": "2.3.1"
548 + }
549 + },
524 "negotiator": { 550 "negotiator": {
525 "version": "0.6.2", 551 "version": "0.6.2",
526 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 552 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
...@@ -613,6 +639,11 @@ ...@@ -613,6 +639,11 @@
613 "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 639 "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
614 "dev": true 640 "dev": true
615 }, 641 },
642 + "process-nextick-args": {
643 + "version": "2.0.1",
644 + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
645 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
646 + },
616 "proxy-addr": { 647 "proxy-addr": {
617 "version": "2.0.6", 648 "version": "2.0.6",
618 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", 649 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
...@@ -654,6 +685,20 @@ ...@@ -654,6 +685,20 @@
654 "pify": "^3.0.0" 685 "pify": "^3.0.0"
655 } 686 }
656 }, 687 },
688 + "readable-stream": {
689 + "version": "2.3.7",
690 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
691 + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
692 + "requires": {
693 + "core-util-is": "~1.0.0",
694 + "inherits": "~2.0.3",
695 + "isarray": "~1.0.0",
696 + "process-nextick-args": "~2.0.0",
697 + "safe-buffer": "~5.1.1",
698 + "string_decoder": "~1.1.1",
699 + "util-deprecate": "~1.0.1"
700 + }
701 + },
657 "require-directory": { 702 "require-directory": {
658 "version": "2.1.1", 703 "version": "2.1.1",
659 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 704 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
...@@ -793,6 +838,11 @@ ...@@ -793,6 +838,11 @@
793 "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", 838 "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
794 "dev": true 839 "dev": true
795 }, 840 },
841 + "sqlstring": {
842 + "version": "2.3.1",
843 + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz",
844 + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A="
845 + },
796 "statuses": { 846 "statuses": {
797 "version": "1.5.0", 847 "version": "1.5.0",
798 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 848 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
...@@ -809,6 +859,14 @@ ...@@ -809,6 +859,14 @@
809 "strip-ansi": "^5.1.0" 859 "strip-ansi": "^5.1.0"
810 } 860 }
811 }, 861 },
862 + "string_decoder": {
863 + "version": "1.1.1",
864 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
865 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
866 + "requires": {
867 + "safe-buffer": "~5.1.0"
868 + }
869 + },
812 "strip-ansi": { 870 "strip-ansi": {
813 "version": "5.2.0", 871 "version": "5.2.0",
814 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 872 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
...@@ -866,6 +924,11 @@ ...@@ -866,6 +924,11 @@
866 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 924 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
867 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 925 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
868 }, 926 },
927 + "util-deprecate": {
928 + "version": "1.0.2",
929 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
930 + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
931 + },
869 "utils-merge": { 932 "utils-merge": {
870 "version": "1.0.1", 933 "version": "1.0.1",
871 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 934 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
......
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
9 "dependencies": { 9 "dependencies": {
10 "body-parser": "^1.19.0", 10 "body-parser": "^1.19.0",
11 "express": "4.17.1", 11 "express": "4.17.1",
12 - "http-proxy-middleware": "^1.0.6" 12 + "http-proxy-middleware": "^1.0.6",
13 + "mysql": "^2.18.1"
13 }, 14 },
14 "devDependencies": { 15 "devDependencies": {
15 "concurrently": "^5.3.0" 16 "concurrently": "^5.3.0"
......
1 +const fs= require('fs');
1 const express=require('express'); 2 const express=require('express');
2 const bodyparser = require("body-parser"); 3 const bodyparser = require("body-parser");
3 const app = express(); 4 const app = express();
...@@ -6,31 +7,27 @@ const port = process.env.process || 5000; ...@@ -6,31 +7,27 @@ const port = process.env.process || 5000;
6 app.use(bodyparser.json()); 7 app.use(bodyparser.json());
7 app.use(bodyparser.urlencoded({ extended: true})); 8 app.use(bodyparser.urlencoded({ extended: true}));
8 9
10 +const data=fs.readFileSync('./database.json');
11 +const conf = JSON.parse(data);
12 +const mysql = require('mysql');
13 +
14 +const connection = mysql.createConnection({
15 + host: conf.host,
16 + user: conf.user,
17 + password: conf.password,
18 + port: conf.port,
19 + database: conf.database
20 +});
21 +
22 +connection.connect();
23 +
9 app.get('/api/students', (req, res)=>{ 24 app.get('/api/students', (req, res)=>{
10 - res.send([ 25 + connection.query(
11 - { 26 + "SELECT * FROM dbproject.Students",
12 - 'st_Code': 6666, 27 + (err,rows,fields)=>{
13 - 'st_Name': '육현진', 28 + res.send(rows);
14 - 'st_Id': 2018102210,
15 - 'st_Major':'컴퓨터공학과',
16 - 'st_Midscore': 100,
17 - 'st_Finalscore': 100,
18 - 'st_Assignscore': 100,
19 - 'st_Attendscore': 100,
20 - 'st_Score':'A+'
21 - },
22 - {
23 - 'st_Code': 1111,
24 - 'st_Name': '김창동',
25 - 'st_Id': 2020021120,
26 - 'st_Major':'컴퓨터공학과',
27 - 'st_Midscore': 79,
28 - 'st_Finalscore': 85,
29 - 'st_Assignscore': 100,
30 - 'st_Attendscore': 90,
31 - 'st_Score':'A0'
32 } 29 }
33 - ]); 30 + );
34 }); 31 });
35 32
36 app.listen(port, () => console.log(`Listening on port ${port}`)); 33 app.listen(port, () => console.log(`Listening on port ${port}`));
...\ No newline at end of file ...\ No newline at end of file
......