<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # **sequelize** ## **安裝依賴** ``` npm install sequelize --save ``` ## **創建文件夾** ``` sequelize -> config.js -> modules -> user -> User.js -> BuiltInUser.js ... -> services User.js ``` ## **sequelize/config.js** ``` // 引?sequelize庫 // Sequelize:類,DataTypes:數據類型,Op:運算符合輯 const { Sequelize } = require("sequelize"); // 引?sequelize // 創建Sequelize實例 const sequelize = new Sequelize("mysqltest", "root", "123456", { host: "localhost", dialect: "mysql", port: 3306, logging: (sql) => { console.log(sql); // 將 SQL 查詢?志打印到控制臺 }, dialectOptions: { logQueryParameters: true, // 顯示實際參數值 }, timezone: "+08:00", // 設置為中國的時區(北京時間,UTC+8) }); sequelize .authenticate() .then(() => { console.log("sequelize數據庫連接成功!"); }) .catch((err) => { console.error("數據庫連接失敗!", err); }); // 導出實例 module.exports = sequelize; ``` ## **sequelize/modules/user/User.js** ``` const { DataTypes } = require("sequelize"); const sequelize = require("../../config"); const BuiltInUser = require("./BuiltInUser"); const User = sequelize.define( "users", { id: { type: DataTypes.INTEGER, allowNull: false, primaryKey: true, autoIncrement: true, }, // 定義數據模型的字段 username: { type: DataTypes.STRING, // 字段類型為字符串 allowNull: false, // 不允許為空 }, password: { type: DataTypes.STRING, // 字段類型為字符串 allowNull: false, // 不允許為空 }, gender: { type: DataTypes.ENUM, values: ["0", "1", "2"], // 0: 男,1: 女,2: 保密 defaultValue: "2", // 默認為保密 allowNull: false, // 不允許為空 }, role: { type: DataTypes.ENUM, // 字段類型為整數 values: ["1", "2"], // 1: 管理員,2: 普通用戶 defaultValue: "1", // 默認值為 1 allowNull: false, // 不允許為空 }, description: { type: DataTypes.TEXT, // 字段類型為字符串 allowNull: true, // 不允許為空 }, avatar: { type: DataTypes.STRING, // 字段類型為字符串 allowNull: true, // 不允許為空 }, }, { sequelize, // 告訴 sequelize 不需要自動將表名變成復數 freezeTableName: true, modelName: "User", timestamps: true, // 自動創建 createdAt 和 updatedAt 字段 createdAt: "createdAt", updatedAt: "updatedAt", paranoid: true, // 軟刪除,不物理刪除數據 設置為true數據庫會增加deletedAt } ); User.sync({ force: true }).then((res) => { console.log("User 模型創建成功"); BuiltInUser(User); }); module.exports = User; ``` ## **sequelize/modules/user/BuiltInUser.js** ``` const USERS = [ { username: "admin", password: "123456", gender: "1", role: "1", description: "this is a admin user", avatar: null, }, { username: "test", password: "Aa123456", gender: "2", role: "2", description: "", avatar: "", }, ]; const BuiltInUser = (User) => { User.bulkCreate(USERS, { individualHooks: true }); // 創建基礎數據 }; module.exports = BuiltInUser; ``` ## **sequelize/services/User.js** ``` const User = require("../modules/user/User"); const UserService = { login: async ({ username, password }) => { return await User.findAll({ where: { username, password, }, }); }, getUserInfo: async (id) => { return await User.findByPk(id); }, updateUserInfo: async (id, data) => { await User.update(data, { where: { id, }, }); }, deleteUser: async (id) => { // 模型如果配置了 paranoid: true // 則 刪除的時候會添加刪除時間,即為軟刪除,而非真正的刪除 await User.destroy({ where: { id, }, }); }, }; module.exports = UserService; // findAll 查詢所有匹配項 // findByPk 根據主鍵查詢 /* const project = await Project.findByPk(123); */ // findOne 查詢單個匹配項 /* const project = await Project.findOne({ where: { title: 'My Title' } }); */ // findOrCreate 根據條件查找或創建 // findAndCountAll 查詢所有匹配項并返回總數 /* const { count, rows } = await Project.findAndCountAll({ where: { title: { [Op.like]: 'foo%', }, }, offset: 10, limit: 2, }); console.log(count); console.log(rows); */ // create 創建新記錄 /* const jane = await User.create({ name: 'Jane' }); // Jane exists in the database now! console.log(jane instanceof User); // true console.log(jane.name); // "Jane" */ // build 創建新記錄但不保存 ``` ## **contriller中使用** ``` eg1. login中查詢用戶 // 使用的是findAll,返回Array,讀取每一項的,dataValues, 登錄一般是第0條數據,只會返回0條或1條數據 let result = await UserService.login(req.body); console.log(result); eg2.根據id獲取用戶信息 // 使用的是findByPk,返回Object,讀取dataValues let user1 = await UserService.getUserInfo("1"); console.log("user1: ", user1.dataValues); eg3. 根據id修改用戶信息,此處修改的是用戶的簡介 // 使用的是update UserService.updateUserInfo("1", { description: "123" }); eg4. 根據id刪除數據(用戶) // 使用的是destroy UserService.deleteUser("2"); ``` ## **其他方法** ``` findOne 查詢單個匹配項 const project = await Project.findOne({ where: { title: 'My Title' } }); findAndCountAll 查詢所有匹配項并返回總數,分頁查詢用到 const { count, rows } = await Project.findAndCountAll({ where: { title: { [Op.like]: 'foo%', }, }, offset: 10, limit: 2, }); console.log(count); console.log(rows); create 創建新記錄 const jane = await User.create({ name: 'Jane' }); // Jane exists in the database now! console.log(jane instanceof User); // true console.log(jane.name); // "Jane" ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看