我有一个本地MySQL数据库mydb
。它包含一个名为person
的表,其中包含字段id
(主键,整数自动递增)和name
(文本)。该表包含我不想删除的记录。
我想要一个LoopBack应用程序,该应用程序通过数据源mydb
连接到myds
。该应用程序应具有模型Person
(扩展了PersistedModel
)。 Person
模型上的CRUD操作应反映在people
的{{1}}表上。
如何构建应用程序?
答案 0 :(得分:0)
使用应用程序生成器生成一个空的应用程序。
mydb
添加新的数据源:
>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
安装loopback-connector-mysql:
/* /server/datasources.json */
"myds": {
"host": "localhost",
"port": 3306,
"url": "",
"database": "mydb",
"password": "password",
"name": "myds",
"user": "root",
"connector": "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
模型,然后单击路由GET Person
,然后单击“尝试一下!”应用程序应从数据库返回/People
表中的所有行。其他CRUD操作也应正常运行。
请注意,命名非常重要。当我们将名为person
的模型连接到本身连接到数据库Person
的数据源myds
时,LoopBack会在mydb中查找名为mydb
的表(这可能会交互(在您的MySQL安装中使用表名区分大小写),并以Person
的属性作为其字段名。