---
title: "使用 Prisma 连接 OceanBase 数据库 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: 使用 Prisma 连接 OceanBase 数据库 功能适用性 Prisma 适用于 OceanBase 数据库 MySQL 模式。 Prisma 是一个现代化的数据库工具包，提供类型安全的数据库访问。本文将介绍如何使用 Prisma 连接 OceanBase 数据库的 MySQL 模式。 前提条件 已安装 Nod…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# 使用 Prisma 连接 OceanBase 数据库

更新时间：2026-04-09 14:12:04

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/680.ecological-integration/200.orms-frameworks/600.nodejs/300.prisma-connection-oceanbase-database-program.md)

#### 功能适用性

Prisma 适用于 OceanBase 数据库 MySQL 模式。

Prisma 是一个现代化的数据库工具包，提供类型安全的数据库访问。本文将介绍如何使用 Prisma 连接 OceanBase 数据库的 MySQL 模式。

## 前提条件

- 已安装 Node.js 14.0.0 或更高版本
 - 已安装 npm 或 yarn 包管理器
 - 已部署 OceanBase 数据库并且创建了 MySQL 模式租户

## 操作步骤

1. 检查 Node.js 和 npm 版本
 2. 安装必要的依赖
 3. 获取 OceanBase 数据库连接信息
 4. 创建并配置项目
 5. 运行示例程序

### 步骤一：检查 Node.js 和 npm 版本

打开终端，运行以下命令检查 Node.js 和 npm 的版本：

```bash
node -v
npm -v

```

### 步骤二：安装必要的依赖

1. 创建项目目录并初始化：

   ```bash
   mkdir prisma-oceanbase-demo
   cd prisma-oceanbase-demo
   npm init -y
   npm install prisma @prisma/client

   ```
 2. 初始化 Prisma：

   ```bash
   npx prisma init --datasource-provider mysql

   ```

   初始化完成后，你将看到以下输出：

   ```bash
   ✔ Your Prisma schema was created at prisma/schema.prisma
     You can now open it in your favorite editor.

   Next steps:
   1. Set the DATABASE_URL in the .env file to point to your existing database.
   2. Run prisma db pull to turn your database schema into a Prisma schema.
   3. Run prisma generate to generate the Prisma Client.
   4. Start querying your database with Prisma Client.

   More information in our documentation:
   https://pris.ly/d/getting-started

   ```
 3. 配置环境变量：

   初始化后，Prisma 会自动创建 `.env` 文件和 `prisma/schema.prisma` 文件。编辑 `.env` 文件，设置 OceanBase 数据库连接信息：

   ```bash
   # .env
   DATABASE_URL="mysql://username:password@host:port/database?schema=public"

   ```

   #### 注意

      - 将 `username`、`password`、`host`、`port` 和 `database` 替换为你的 OceanBase 数据库连接信息
      - 确保 `schema` 参数与你的数据库架构名称匹配
      - 如果使用 SSL 连接，需要添加 `?sslmode=require` 参数
 4. 拉取数据库架构（如果数据库已存在表）：

   ```bash
   npx prisma db pull

   ```

   此命令会从现有数据库拉取表结构并更新 `prisma/schema.prisma` 文件。
 5. 生成 Prisma 客户端：

   ```bash
   npx prisma generate

   ```

   此命令会读取 `prisma/schema.prisma` 文件并生成对应的 TypeScript 类型定义和 Prisma 客户端代码。
 6. 创建数据库迁移（仅适用于新项目）：

   ```bash
   npx prisma migrate dev --name init

   ```

   如果是新项目，使用此命令来：

      - 创建迁移文件
      - 应用迁移到数据库
      - 重新生成 Prisma 客户端  

   #### 注意

   如果已经使用 `db pull` 从现有数据库拉取了表结构，则不需要执行此步骤。

### 步骤三：数据操作示例

本节展示如何使用 Prisma 进行基本的数据操作，包括插入和查询 users 表数据。

#### 1. 初始化 Prisma 客户端

首先，在你的项目根目录下创建 `index.js` 文件，并添加以下代码：

```javascript
const { PrismaClient } = require('@prisma/client')
const prisma = new PrismaClient()

async function main() {
  // 1. Create a new user
  const newUser = await prisma.users.create({
    data: {
      username: 'ambermoe',
      email: 'amber@example.com',
      password_hash: 'hashed_password_here',  // Use bcrypt for password hashing in production
    },
  })
  console.log('User created successfully:', newUser)

  // 2. Query user
  const user = await prisma.users.findUnique({
    where: {
      email: 'amber@example.com',
    },
  })
  console.log('Retrieved user:', user)
}

main()
  .catch((e) => {
    console.error('Error:', e)
    process.exit(1)
  })
  .finally(async () => {
    await prisma.$disconnect()
  })

```

#### 2. 运行示例

确保已经完成以下步骤：

1. 确保 `prisma/schema.prisma` 中已正确定义 users 表模型
 2. 如果是新项目，应用数据库迁移：

   ```

   如果是从现有数据库拉取的表结构，可以跳过此步骤。
 3. 生成 Prisma Client：

   ```
 4. 运行示例代码：

   ```bash
   node index.js

   ```

运行后，你将在控制台看到新创建的用户信息和查询到的用户信息。

```txt
User created successfully: {
  id: 2,
  username: 'ambermoe',
  email: 'amber@example.com',
  password_hash: 'hashed_password_here',
  created_at: 2025-06-04T03:40:43.000Z,
  updated_at: 2025-06-04T03:40:43.000Z
}
Retrieved user: {
  id: 2,
  username: 'ambermoe',
  email: 'amber@example.com',
  password_hash: 'hashed_password_here',
  created_at: 2025-06-04T03:40:43.000Z,
  updated_at: 2025-06-04T03:40:43.000Z
}

```

#### 说明

在实际项目中，请确保：

- 密码必须经过加密处理（如使用 bcrypt）
 - 处理可能出现的错误情况
 - 使用环境变量管理数据库连接信息
 - 添加适当的输入验证

## 参考资源

- [Prisma 官方文档](https://www.prisma.io/docs/)
 - [OceanBase 文档](https://www.oceanbase.com/docs)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
