Ubuntu typeorm 增删改查
时间: 2023-07-07 09:24:38 浏览: 113
增删改查
TypeORM 是一个使用 TypeScript 编写的 ORM 框架,可以帮助我们方便地进行数据库操作。下面是 TypeORM 的增删改查操作示例:
1. 安装 TypeORM
在 Ubuntu 上安装 TypeORM,可以使用以下命令:
```bash
npm install typeorm --save
```
2. 配置数据库连接
在使用 TypeORM 进行数据库操作之前,需要先配置数据库连接。在项目根目录下创建一个 `ormconfig.json` 文件,内容如下:
```json
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "your_username",
"password": "your_password",
"database": "your_database_name",
"synchronize": true,
"logging": false,
"entities": [
"src/entity/**/*.ts"
],
"migrations": [
"src/migration/**/*.ts"
],
"subscribers": [
"src/subscriber/**/*.ts"
],
"cli": {
"entitiesDir": "src/entity",
"migrationsDir": "src/migration",
"subscribersDir": "src/subscriber"
}
}
```
其中,`type` 指定数据库类型,`host` 指定数据库服务器地址,`port` 指定数据库服务器端口,`username` 和 `password` 指定数据库用户名和密码,`database` 指定数据库名,`entities` 指定实体类所在的目录,`migrations` 指定迁移文件所在的目录。
3. 创建实体类
在 TypeORM 中,实体类对应数据库中的表。在项目中创建一个 `User.ts` 实体类,内容如下:
```typescript
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
age: number;
@Column()
email: string;
}
```
其中,`Entity` 装饰器指定该类为实体类,`PrimaryGeneratedColumn` 装饰器指定自动生成主键,`Column` 装饰器指定实体类中的属性对应数据库表中的列。
4. 插入数据
在 TypeORM 中插入数据可以使用 `getRepository` 方法获取实体类的仓库对象,然后使用 `save` 方法保存数据。例如:
```typescript
import { createConnection } from "typeorm";
import { User } from "./User";
createConnection().then(async connection => {
const userRepository = connection.getRepository(User);
const user = new User();
user.name = "John Smith";
user.age = 30;
user.email = "john@example.com";
await userRepository.save(user);
console.log("User has been saved");
}).catch(error => console.log(error));
```
5. 查询数据
在 TypeORM 中查询数据可以使用 `find` 方法查询所有数据,也可以使用 `findOne` 方法查询单条数据。例如:
```typescript
import { createConnection } from "typeorm";
import { User } from "./User";
createConnection().then(async connection => {
const userRepository = connection.getRepository(User);
// 查询所有用户
const users = await userRepository.find();
console.log(users);
// 查询单个用户
const user = await userRepository.findOne(1);
console.log(user);
}).catch(error => console.log(error));
```
6. 更新数据
在 TypeORM 中更新数据可以使用 `update` 方法,也可以先查询数据再通过实体对象的属性修改数据,最后使用 `save` 方法保存数据。例如:
```typescript
import { createConnection } from "typeorm";
import { User } from "./User";
createConnection().then(async connection => {
const userRepository = connection.getRepository(User);
// 方法一:使用 update 方法更新数据
await userRepository.update(1, { name: "Jane Doe" });
// 方法二:先查询数据再修改数据
const user = await userRepository.findOne(1);
user.name = "Jane Doe";
await userRepository.save(user);
}).catch(error => console.log(error));
```
7. 删除数据
在 TypeORM 中删除数据可以使用 `delete` 方法,也可以先查询数据再通过实体对象的属性删除数据,最后使用 `remove` 方法保存数据。例如:
```typescript
import { createConnection } from "typeorm";
import { User } from "./User";
createConnection().then(async connection => {
const userRepository = connection.getRepository(User);
// 方法一:使用 delete 方法删除数据
await userRepository.delete(1);
// 方法二:先查询数据再删除数据
const user = await userRepository.findOne(1);
await userRepository.remove(user);
}).catch(error => console.log(error));
```
以上就是在 Ubuntu 上使用 TypeORM 进行增删改查的基本操作。
阅读全文