TypeORM con JavaScript
El idioma predeterminado admitido por TypeORM es TypeScript. Dado que TypeScript admite tipos, clases y decoradores estáticos, es fácil definir la entidad y sus atributos. Al mismo tiempo,JavaScript también es necesario en ciertos proyectos donde el idioma preferido es JavaScript. TypeORMtambién proporciona soporte completo para el lenguaje JavaScript. TypeORM admite los sabores es5 y es6 de JavaScript.
En este capítulo, aprendamos a escribir una aplicación TypeORM en JavaScript ES5 (ECMAScript 5).
Abra un símbolo del sistema y vaya a su espacio de trabajo.
cd /path/to/workspace/
Ejecute el siguiente comando para crear un proyecto TypeORM.
typeorm init --name typeorm-javascript-student-app --database mysql
Abierto package.json archivo para eliminar las referencias de typecipt.
original
{
"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" }
}
actualizado
{
"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"
}
}
Aquí,
- Retiró el devDependencies sección y paquete relacionado con mecanografiado en dependences sección.
- Se modificó la secuencia de comandos de inicio para señalar código JavaScript en lugar de código mecanografiado.
Ejecute el siguiente comando para instalar los paquetes necesarios.
npm install
Eliminar tsconfig.json y archivo index.ts.
Elimine el archivo User.ts dentro de la carpeta de la entidad y luego cree la entidad de estudiante en formato json, student.json como se especifica a continuación -
{
"name": "Student",
"columns": {
"id": {
"primary": true,
"type": "int",
"generated": true
},
"name": {
"type": "varchar"
},
"age": {
"type": "integer"
}
}
}
Cree un nuevo archivo, src / index.js y coloque el siguiente código:
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; });
Aquí,
Hemos utilizado los mismos métodos typeORM, excepto los cambios mencionados a continuación,
- Usado EntitySchema para configurar la entidad estudiante.
- Se utilizaron bloques del concepto de promesa de JavaScript (luego / atrapar / finalmente).
Ahora, ejecute la aplicación usando el siguiente comando:
npm start
La aplicación inserta la información del estudiante en la base de datos y luego busca a todos los estudiantes en la base de datos y lo muestra en la consola como se muestra a continuación:
> [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 } ]