typeorm使用sql语句模糊查询
时间: 2024-07-04 20:01:22 浏览: 282
TypeORM是一个为Node.js应用程序提供对象关系映射(ORM)的库,它允许你在JavaScript中操作数据库,而不需要直接编写SQL语句。如果你想通过TypeORM进行模糊查询,通常你会使用`createQueryBuilder`或`find`方法,并结合`where`和`like`操作符。
例如,假设你有一个名为`User`的实体,你想要根据用户名进行模糊搜索,你可以这样做:
```javascript
import { getConnection, Repository } from 'typeorm';
// 假设User是你的实体类
const userRepository: Repository<User> = getConnection().getRepository(User);
async function searchUsers(query: string) {
const users = await userRepository.find({
where: {
name: {
like: `%${query}%`, // 使用百分号作为通配符
},
},
});
return users;
}
```
在这个例子中,`%${query}%`会将`query`字符串前后各匹配任意字符,实现了模糊查询。
如果你使用的是`createQueryBuilder`,代码会看起来像这样:
```javascript
const queryBuilder = userRepositorycreateQueryBuilder('user')
.where('user.name LIKE :search', { search: `%${query}%` })
.getMany();
```
阅读全文