将 LoopBack 应用程序连接到现有 MySQL 数据库
Connect LoopBack app to existing MySQL database
我有一个本地 MySQL 数据库 mydb
。它包含一个名为 person
的 table,带有字段 id
(主键,整数自动递增)和 name
(文本)。 table 包含我不想删除的记录。
我想要一个通过数据源 myds
连接到 mydb
的 LoopBack 应用程序。该应用程序应该有一个模型 Person
(扩展 PersistedModel
)。 Person
模型上的 CRUD 操作应反映在 mydb
的 people
table 上。
如何构建应用程序?
使用应用程序生成器生成一个空应用程序。
>lb
? What's the name of your application? myapp
? Enter name of the directory to contain the project: myapp
? Which version of LoopBack would you like to use? 3.x (current)
? What kind of application do you have in mind? empty-server
添加新数据源:
/* /server/datasources.json */
"myds": {
"host": "localhost",
"port": 3306,
"url": "",
"database": "mydb",
"password": "password",
"name": "myds",
"user": "root",
"connector": "mysql"
}
安装环回连接器-mysql:
> npm install loopback-connector-mysql --save
创建模型
/* /common/models/Person.json */
{
"name": "Person",
"plural": "People",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "number",
"required": true
},
"name": {
"type": "string"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
然后将模型附加到数据源。
/* /server/model-config.json */
{
// ...
"Person": {
"dataSource": "myds",
"public": true
}
//...
}
应用程序已完成。 运行 应用程序,
> node .
然后在浏览器中导航至 localhost:3000/explorer
。单击 Person
模型,然后单击路由 GET /People
,然后单击 "try it out!" 应用程序应 return person
[=45= 中的所有行] 来自数据库。其他 CRUD 操作也应该正常运行。
注意命名很重要。当我们将名为 Person
的模型连接到数据源 myds
时,它本身连接到数据库 mydb
,LoopBack 在 mydb 中查找名为 Person
的 table (这可能与 MySQL 安装中 table 名称的区分大小写相互作用),其字段名称与 Person
的属性完全相同。
我有一个本地 MySQL 数据库 mydb
。它包含一个名为 person
的 table,带有字段 id
(主键,整数自动递增)和 name
(文本)。 table 包含我不想删除的记录。
我想要一个通过数据源 myds
连接到 mydb
的 LoopBack 应用程序。该应用程序应该有一个模型 Person
(扩展 PersistedModel
)。 Person
模型上的 CRUD 操作应反映在 mydb
的 people
table 上。
如何构建应用程序?
使用应用程序生成器生成一个空应用程序。
>lb
? What's the name of your application? myapp
? Enter name of the directory to contain the project: myapp
? Which version of LoopBack would you like to use? 3.x (current)
? What kind of application do you have in mind? empty-server
添加新数据源:
/* /server/datasources.json */
"myds": {
"host": "localhost",
"port": 3306,
"url": "",
"database": "mydb",
"password": "password",
"name": "myds",
"user": "root",
"connector": "mysql"
}
安装环回连接器-mysql:
> npm install loopback-connector-mysql --save
创建模型
/* /common/models/Person.json */
{
"name": "Person",
"plural": "People",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "number",
"required": true
},
"name": {
"type": "string"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
然后将模型附加到数据源。
/* /server/model-config.json */
{
// ...
"Person": {
"dataSource": "myds",
"public": true
}
//...
}
应用程序已完成。 运行 应用程序,
> node .
然后在浏览器中导航至 localhost:3000/explorer
。单击 Person
模型,然后单击路由 GET /People
,然后单击 "try it out!" 应用程序应 return person
[=45= 中的所有行] 来自数据库。其他 CRUD 操作也应该正常运行。
注意命名很重要。当我们将名为 Person
的模型连接到数据源 myds
时,它本身连接到数据库 mydb
,LoopBack 在 mydb 中查找名为 Person
的 table (这可能与 MySQL 安装中 table 名称的区分大小写相互作用),其字段名称与 Person
的属性完全相同。