uni-app 安卓端实现访问mysql数据库 进行增删改查等功能

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app 安卓端实现访问mysql数据库 进行增删改查等功能

5 回复

做个服务端桥接一下不就完了


想实现直连mysql数据库,能否具体一点,感谢

那就得定制了

uni-app 中直接访问 MySQL 数据库进行增删改查操作并不常见,因为 uni-app 主要是面向前端开发的框架,而 MySQL 是后端数据库。通常的做法是通过后端接口来实现与 MySQL 数据库的交互。以下是一个简要的实现步骤和代码示例:

后端部分(Node.js + Express + MySQL)

首先,你需要一个后端服务器来处理数据库操作。这里以 Node.js、Express 和 MySQL 为例。

  1. 安装必要的 npm 包:
npm install express mysql body-parser
  1. 创建一个简单的 Express 服务器,并实现 CRUD 操作:
const express = require('express');
const mysql = require('mysql');
const bodyParser = require('body-parser');

const app = express();
const port = 3000;

const db = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'testdb'
});

db.connect(err => {
  if (err) throw err;
  console.log('Connected to MySQL');
});

app.use(bodyParser.json());

// Create
app.post('/api/items', (req, res) => {
  const { name } = req.body;
  const sql = 'INSERT INTO items (name) VALUES (?)';
  db.query(sql, [name], (err, result) => {
    if (err) throw err;
    res.send(result);
  });
});

// Read
app.get('/api/items', (req, res) => {
  const sql = 'SELECT * FROM items';
  db.query(sql, (err, results) => {
    if (err) throw err;
    res.send(results);
  });
});

// Update
app.put('/api/items/:id', (req, res) => {
  const { id } = req.params;
  const { name } = req.body;
  const sql = 'UPDATE items SET name = ? WHERE id = ?';
  db.query(sql, [name, id], (err, result) => {
    if (err) throw err;
    res.send(result);
  });
});

// Delete
app.delete('/api/items/:id', (req, res) => {
  const { id } = req.params;
  const sql = 'DELETE FROM items WHERE id = ?';
  db.query(sql, [id], (err, result) => {
    if (err) throw err;
    res.send(result);
  });
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`);
});

前端部分(uni-app)

uni-app 中,你可以使用 uni.request 来调用上面的后端接口。

// 示例:添加项目
uni.request({
  url: 'http://localhost:3000/api/items',
  method: 'POST',
  data: {
    name: 'newItem'
  },
  success: (res) => {
    console.log('Add success', res.data);
  }
});

// 示例:获取所有项目
uni.request({
  url: 'http://localhost:3000/api/items',
  method: 'GET',
  success: (res) => {
    console.log('Get success', res.data);
  }
});

通过这种方式,你可以在 uni-app 中实现与 MySQL 数据库的交互。注意,在生产环境中,你需要处理跨域问题,并且确保后端接口的安全性。

回到顶部