Nodejs Express4 Web框架中集成TypeOrm数据库


Nodejs最好的ORM - TypeORM


https://github.com/typeorm/typeorm


这个框架用起来的感觉就像在nodejs 中玩jpa一样爽, 前提是你必须喜欢使用TypeScript 来开发nodejs应用


集成还是很简单的


准备工作

1.VSCODE

2.NODE.JS  6.11.5

3.EXPRESS 4.15.5  //版本不同 一切都大不相同

4.TypeScript


如果安装过程中有问题 请百度或者看我前边的博文

使用TypeScript开发Express4

http://blog.csdn.net/winnershili/article/details/78895396


1. 安装TypeOrm 

npm install typeorm -g

npm install reflect-metadata --save


2.生成 一些工程文件 这个操做会覆盖你原有的文件 谨慎使用 

typeorm init --name MyProject --database mysql


3.安装依赖

进入到 MyProject 目录执行

npm install


4.修改配置文件

{
   "type": "mysql",
   "host": "localhost",
   "port": 3306,
   "username": "test",
   "password": "test",
   "database": "test",
   "synchronize": true,
   "logging": false,
   "entities": [
      "src/entity/**/*.ts"
   ],
   "migrations": [
      "src/migration/**/*.ts"
   ],
   "subscribers": [
      "src/subscriber/**/*.ts"
   ]
}

建议把其中的 entities 中的路径 修改成 你ts文件生成的js文件的 entity 的目录

否则会报错

"entities":["entity/*.js"]



5.接下来建立实体类

import {Entity, Column} from "typeorm";

@Entity()
export class Photo {

    @Column()
    id: number;

    @Column()
    name: string;

    @Column()
    description: string;

    @Column()
    filename: string;

    @Column()
    views: number;

    @Column()
    isPublished: boolean;
}


6.最后放出www文件的配置 基本上完成了  我的解决方案比官方的好 哈哈

#!/usr/bin/env node

/**
 * Module dependencies.
 */
var app = require('../app');
var debug = require('debug')('node:server');
var http = require('http');
var typeorm = require("typeorm");

/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
  /**
 * Create HTTP server.
 */
var server = http.createServer(app);
typeorm.createConnection().then(function (connection) {
  console.info('connect mysql success');
  /**
   * Listen on provided port, on all network interfaces.
   */
  server.listen(port);
  server.on('error', onError);
  server.on('listening', onListening);

  console.info('create server success');
}).catch(function(error) {
  console.log("Error: ", error);
});

7.测试 打开Express4 中的例子文件 users.ts 我已经修改为Typescript 如下

import * as express from 'express';
import {getConnection} from "typeorm";
import {User} from '../entity/User';
var router = express.Router();

router.get('/', function(req, res, next) {
    getConnection().getRepository(User).find().then(result => {
        res.send(result);
    });
});

module.exports = router;


这访问数据库的方式就好像是一种艺术. 



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值