DigitareORM con JavaScript

La lingua predefinita supportata da TypeORM è TypeScript. Poiché TypeScript supporta la tipizzazione statica, le classi e i decoratori, è facile definire l'entità ei suoi attributi. Allo stesso tempo,JavaScript è necessario anche in alcuni progetti in cui la lingua preferita è JavaScript. TypeORMfornisce il supporto completo anche per il linguaggio JavaScript. TypeORM supporta sia le versioni es5 che es6 di JavaScript.

In questo capitolo, impariamo come scrivere un'applicazione TypeORM in JavaScript ES5 (ECMAScript 5).

Apri un prompt dei comandi e vai al tuo spazio di lavoro.

cd /path/to/workspace/

Esegui il comando seguente per creare un progetto TypeORM.

typeorm init --name typeorm-javascript-student-app --database mysql

Aperto package.json file per rimuovere i riferimenti tipografici.

originale

{ 
   "name": "typeorm-javascript-student-app", "version": "0.0.1", 
   "description": "Awesome project developed with TypeORM.", "devDependencies": { 
      "ts-node": "3.3.0", "@types/node": "^8.0.29", "typescript": "3.3.3333" 
   }, 
   "dependencies": { 
      "typeorm": "0.2.24", "reflect-metadata": "^0.1.10", "mysql": "^2.14.1" 
   }, 
   "scripts": { 
      "start": "ts-node src/index.ts" } 
}

aggiornato

{ 
   "name": "typeorm-javascript-student-app", "version": "0.0.1", 
   "description": "Awesome project developed with TypeORM.", "dependencies": { 
      "typeorm": "0.2.24",
      "mysql": "^2.14.1" 
   }, 
   "scripts": { 
   "start": "node src/index.js" 
   } 
}

Qui,

  • Rimosso il file devDependencies sezione e pacchetto relativo al dattiloscritto in dependences sezione.
  • Modificato lo script di avvio in modo che punti il ​​codice JavaScript invece del codice dattiloscritto.

Esegui il comando seguente per installare i pacchetti necessari.

npm install

Rimuovere tsconfig.json e il file index.ts.

Rimuovi il file User.ts all'interno della cartella dell'entità e quindi crea l'entità studente in formato json, student.json come di seguito specificato -

{ 
   "name": "Student", 
   "columns": { 
      "id": { 
         "primary": true, 
         "type": "int", 
         "generated": true 
      }, 
      "name": { 
         "type": "varchar" 
      }, 
      "age": { 
         "type": "integer" 
      } 
   } 
}

Crea un nuovo file, src / index.js e inserisci il codice seguente -

var typeorm = require("typeorm"); var EntitySchema = typeorm.EntitySchema; 

typeorm.createConnection({ 
   "type": "mysql", 
   "host": "localhost", 
   "port": 3306, 
   "username": "root", 
   "password": "123456", 
   "database": "typeorm_test_db",
   "synchronize": true, 
   "logging": false, 
   entities: [ new EntitySchema(require("./entity/student.json")) 
   ] 
}) 
.then(function(connection) { 
   return connection.getRepository("Student"); }) .then(function(studentRepository) { 
   var student = { 
      name: "Student1", 
      age: 18 
   }; 
   return studentRepository.save(student) .then(function(savedStudent) { console.log("Student has been successfully saved: ", savedStudent); 
   return studentRepository.find(); }) 
   .then(function(students) { console.log("All students: ", students); 
   return; 
   }) 
   .catch(function(error) { console.log("Error: ", error); return; 
   }) 
}) 
.catch(function(error) { console.log("Error: ", error) 
   return; });

Qui,

Abbiamo utilizzato gli stessi metodi di tipoORM tranne le modifiche sotto menzionate,

  • Usato EntitySchema per configurare l'entità studente.
  • Blocchi del concetto JavaScript Promise (quindi / cattura / infine) utilizzati.

Ora, esegui l'applicazione usando il comando seguente:

npm start

L'applicazione inserisce le informazioni sullo studente nel database, quindi recupera tutti gli studenti nel database e li mostra nella console come mostrato di seguito:

> [email protected] start /path/to/workspace/typeorm-javascript-student-app

> node src/index.js 

Student has been successfully saved: { name: 'Student1', age: 18, id: 1 } All students: [ { id: 1, name: 'Student1', age: 18 } ]