Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2018, 17:19
Новичок на форуме
Отправить личное сообщение для mcBiba Посмотреть профиль Найти все сообщения от mcBiba
 
Регистрация: 11.12.2018
Сообщений: 9

Класс работы С базой данных.
Я пишу класс для работы с базой данных. БД MYSQL. Все работает, но только проблема с подключением. С каждым вызовом SELECT или другим действием с базой создается новое подключение и все быстро падает из за большого количества подключений. Пробовал объявить переменную connection глобально, но ничего не выходит.



let express = require("express");
let app = express();
let mysql = require('async-mysql');


app.get('/', function (req, res) {
  new DB('id','users','email','biba@yandex.ru',null).select().then(rows=>console.log(rows));
});

class DB {
  constructor(column,table,indefName,indef,data,query) {
    if(data!=null){
      if(typeof data !="string"){
        for(var i=0;i<data.length;i++){
          data[i] = "'"+data[i]+"'";
        }
      }
      else{
        data = "'"+data+"'";
      }
    }
    this.column = column;
    this.table = table;
    this.indef = "'"+indef+"'";
    this.indefName = indefName;
    this.data = data;
    this.query = query;
  };
  async select() {
    let connection = await mysql.connect({
      host     : '127.0.0.1',
      port     : '3306',
      database : 'heano',
      user     : 'root',
      password : '1234',
      charset  : 'utf8'
    });
    let rows = await connection.query("SELECT "+this.column+" FROM "+this.table+" WHERE "+this.indefName+"="+this.indef);
    return rows;
  };
};


let server = app.listen(2800, () => console.log("Работа пошла"));

Последний раз редактировалось mcBiba, 18.12.2018 в 18:07.
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2018, 22:20
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

https://nestjs.com/
http://typeorm.io/
https://github.com/nestjs/graphql
https://graphql.org/learn/
) а это...
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2018, 09:44
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

SuperZen, на каждый тип запроса по классу)
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2018, 13:57
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

Nexus, https://graphql.org/learn/queries/#fragments, https://graphql.org/learn/queries/#inline-fragments , но в целом, программа имеет какие-то границы, и поэтому все запросы должны быть известны... ))
Ответить с цитированием
  #5 (permalink)  
Старый 19.12.2018, 16:23
Новичок на форуме
Отправить личное сообщение для mcBiba Посмотреть профиль Найти все сообщения от mcBiba
 
Регистрация: 11.12.2018
Сообщений: 9

SuperZen,
В очередной раз спасибо) Выбрал sequelize.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в angularjs соединиться с базой данных (на примере todo-list ниже)? okuznetsov1 Angular.js 3 18.01.2017 15:26
Как можно получить результат работы php скрипта после отправки данных через ajax nina_ jQuery 5 14.11.2016 14:17
Работа с базой данных через javascript KupueIIIKo Общие вопросы Javascript 24 26.07.2015 18:05
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Обновление элемента страницы с базой данных shaltay AJAX и COMET 2 20.05.2011 12:56