@tsdi/typeorm-adapter
Version:
@tsdi/typeorm-adapter is typeorm adapter orm for boot application, mvc frameworks on server.
230 lines (173 loc) • 5.75 kB
Markdown
# packaged @tsdi/typeorm-adapter
This repo is for distribution on `npm`. The source for this module is in the
[main repo](https://github.com/zhouhoujun/type-mvc).
`@tsdi/typeorm-adapter` is model parser for boot frameworker. base on ioc [`@tsdi`](https://www.npmjs.com/package/@tsdi/core). help you develop your project easily.
## Install
You can install this package either with `npm`
### npm
```shell
npm install @tsdi/typeorm-adapter
```
## Documentation
### add orm for application
```ts
import { BootApplication, DIModule } from '@tsdi/boot';
import { TypeOrmModule } from '@tsdi/typeorm-adapter';
export class MyService extends Service {
@Inject()
dbhelper: TypeOrmHelper;
async configureService(ctx: IBootContext): Promise<void> {
const resp = this.dbhelper.getRepository(Production);
// todo configuer service.
}
// ......
}
@EntityRepository(Production)
export class ProductionRepository extends Repository<Production> {
async findById(id: string) {
return await this.findOne(id);
}
async removeById(id: string) {
const pdtline = await this.findOne(id);
return await this.remove(pdtline);
}
async serarch(...args) {
// do sth..
}
...
}
@Injectable()
export class SerachProduction {
@Inject() //or @AutoWired()
resp: ProductionRepository;
dosth(){
this.resp.search(...)
}
}
@DIModule({
// baseURL: __dirname,
imports: [
TypeOrmModule
//... you service, or controller, some extends module.
],
providers:[
SerachProduction
],
bootstrap: MyService
debug: true
})
export class MyApp {
constructor() {
console.log('boot my application');
}
}
BootApplication.run(MyApp);
```
### add orm for mvc application
```ts
import { MvcApplication, DefaultMvcMiddlewares, MvcModule, MvcServer } from '@mvx/mvc';
import { TypeOrmModule } from '@tsdi/typeorm-adapter';
@Cors
@Authorization()
@Controller('/api/production')
export class ProductionController {
@Inject()
rep: ProductionRepository;
@Post('/')
@Put('/')
async save(pdt: Production) {
const r = await this.rep.save(pdt);
return ResponseResult.success(r);
}
@Delete('/:id')
async removeById(id: string) {
const r = await this.rep.removeById(id);
return ResponseResult.success(r);
}
@Get('/:id')
async get(id: string) {
const pdtline = await this.rep.findById(id);
return ResponseResult.success(pdtline);
}
@Get('/')
async query(keywords?: string, skip?: number, take?: number) {
const r = await this.rep.search(keywords, skip, take);
return ResponseResult.success(r[0], r[1]);
}
}
// 1. use MvcHostBuilder to boot application.
MvcApplication.run();
// 2. use bootstrap module to boot application
@MvcModule({
// baseURL: __dirname,
imports: [
TypeOrmModule
//... you service, or controller, some extends module.
],
debug: true
})
class MvcApi {
constructor() {
console.log('boot application');
}
}
// 3. use MvcHostBuilder to boot application module.
@MvcModule({
imports: [
TypeOrmModule
// ... /... you service, or controller, some extends module.
// DebugLogAspect
]
// bootstrap: MvcServer
})
class MvcApi {
}
MvcApplication.run(MvcApi);
//4. use bootstrap module to boot application by main.
@MvcModule({
imports: [
TypeOrmModule
// ...
],
// bootstrap: MvcServer,
debug: true
})
class MvcApi {
constructor() {
console.log('boot application');
}
static main() {
console.log('run mvc api...');
MvcApplication.run(MvcApi);
}
}
```
## Documentation
Documentation is available on the
* [@tsdi/ioc document](https://github.com/zhouhoujun/tsioc/tree/master/packages/ioc).
* [@tsdi/aop document](https://github.com/zhouhoujun/tsioc/tree/master/packages/aop).
* [@tsdi/core document](https://github.com/zhouhoujun/tsioc/tree/master/packages/core).
* [@tsdi/boot document](https://github.com/zhouhoujun/tsioc/tree/master/packages/boot).
* [@tsdi/components document](https://github.com/zhouhoujun/tsioc/tree/master/packages/components).
* [@tsdi/compiler document](https://github.com/zhouhoujun/tsioc/tree/master/packages/compiler).
* [@tsdi/activities document](https://github.com/zhouhoujun/tsioc/tree/master/packages/activities).
* [@tsdi/pack document](https://github.com/zhouhoujun/tsioc/tree/master/packages/pack).
* [@tsdi/typeorm-adapter document](https://github.com/zhouhoujun/tsioc/tree/master/packages/typeorm-adapter).
* [@tsdi/unit document](https://github.com/zhouhoujun/tsioc/tree/master/packages/unit).
* [@tsdi/unit-console document](https://github.com/zhouhoujun/tsioc/tree/master/packages/unit-console).
* [@tsdi/cli document](https://github.com/zhouhoujun/tsioc/tree/master/packages/cli).
### packages
[@tsdi/cli](https://www.npmjs.com/package/@tsdi/cli)
[@tsdi/ioc](https://www.npmjs.com/package/@tsdi/ioc)
[@tsdi/aop](https://www.npmjs.com/package/@tsdi/aop)
[@tsdi/core](https://www.npmjs.com/package/@tsdi/core)
[@tsdi/boot](https://www.npmjs.com/package/@tsdi/boot)
[@tsdi/components](https://www.npmjs.com/package/@tsdi/components)
[@tsdi/compiler](https://www.npmjs.com/package/@tsdi/compiler)
[@tsdi/activities](https://www.npmjs.com/package/@tsdi/activities)
[@tsdi/pack](https://www.npmjs.com/package/@tsdi/pack)
[@tsdi/typeorm-adapter](https://www.npmjs.com/package/@tsdi/typeorm-adapter)
[@tsdi/unit](https://www.npmjs.com/package/@tsdi/unit)
[@tsdi/unit-console](https://www.npmjs.com/package/@tsdi/unit-console)
## License
MIT © [Houjun](https://github.com/zhouhoujun/)