Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产成人宗合,91麻豆国产免费观看,视频区图片区

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JS寫的服務端,如何連接Mysql數據庫,實現增刪查改功能

          一篇文章我給大家說明了如何從零開始搭建一個node的服務端框架,我們用到了Egg框架。Egg框架我不再過多介紹,如果有小伙伴想了解,可以回去看我以前寫的文章,會有相關的介紹。這次我將在上次搭建的框架上進行延伸,講一下如果用Egg框架連接數據庫,并且實現對數據的增刪查改。接下來我們直接進入主題。

          安裝數據庫插件

          我本次選用的數據庫是MySQL。所以我們安裝Egg官方的數據庫插件即可,首先我們安裝插件 egg-mysql我們在項目根目錄打開命令提示符,輸入命令行:npm i --save egg-mysql 。回車等待插件下載安裝完成。

          npm i --save egg-mysql

          配置插件

          命令行下載安裝插件完成后,我們下一步的工作就是在項目中開啟并配置egg-mysql插件。具體操作如下:

          首先我們要在項目中開啟數據庫。找到項目中的/config/plugin.js文件我們需要在里面添加幾行代碼,如下所示。

          //開啟數據庫插件
            mysql : {
              enable: true,
              package: 'egg-mysql',
            }

          然后我們還要在 config/config.default.js 中配置各個環境的數據庫連接信息。具體配置如下。

          //添加數據庫連接信息
            config.mysql = {
              // 單數據庫信息配置
              client: {
                // host
                host: 'localhost',
                // 端口號
                port: '3306',
                // 用戶名
                user: 'root',
                // 密碼
                password: '123456',
                // 數據庫名
                database: 'testdb',
              },
              // 是否加載到 app 上,默認開啟
              app: true,
              // 是否加載到 agent 上,默認關閉
              agent: false,
            };

          到此步驟我們的數據庫插件已經安裝完成并且配置好了。那我們怎么實現數據的增刪查改呢?大家請繼續往下看。

          數據操作-新增用戶

          首先我們看一下怎么新增數據。我們在mysql的testdb實例中新建一個user空表。如下圖所示。

          我們的egg框架也遵循MVC的架構所以我們一般會在service層里面寫我們邏輯處理的代碼,而controller層則是獲取前端數據,回傳數據的控制層。所以我們操作數據庫的代碼是寫在service文件夾里面的。

          我們在app/service文件夾里面新建一個user.js文件。在里面寫個新增用戶的方法,該方法就是把數據存到數據庫中。具體代碼如下。

          const Service = require('egg').Service;
          
          class UserService extends Service {
          
            //新增用戶data是有controller層傳遞過來的數據記錄。
            async addUser(data) {
          
              const {ctx, app} = this;
              let result = {};
              try {
                data.id = 0;//定義id=0,因為數據庫已經設置id為主鍵,并且自增。所以只需要賦值0即可。
                // 在 user 表中,插入前端提交上來的數據記錄
                const info = await app.mysql.insert('user', data); 
            
                //插入成功后。
                if(info.affectedRows === 1){
                  //給前端返回一個Json的對象
                  result = {
                    state: 0, //自定義的狀態碼
                    msg: "添加成功", //返回的消息
                    data: info.insertId, //新增的記錄的id
                  }
                }
          
              } catch (err) {
                //插入數據失敗的返回結果
                result = {
                  state: 1, 
                  msg: err,
                  data: null,
                }
              }
              
              return result
            }
          };
          module.exports = UserService;

          然后我們在app/controller文件夾里新建一個user.js文件。在這里我們需要獲取前端提交上來的數據,并且將數據處理的結果返回給前端。具體代碼如下。

          'use strict';
          
          const Controller = require('egg').Controller;
          /**
           * @Controller 用戶管理
           */
          class UserController extends Controller {
          
            /**
            * @summary 新增用戶
            * @router post /user/add
            * @request body userAddRequest 
            * @response 200 
            */
            async addUser() {
              const { ctx } = this;
          
              //通過ctx.request.body的方式,可以獲取到前端post方式提交上來的數據
              const data = ctx.request.body;
          
              //調用service層的addUser方法。并且返回相應的結果
              const userInfo = await ctx.service.user.addUser(data);
              
              //向前端接口響應數據。
              ctx.body = userInfo;
            }
          
          }
          
          module.exports = UserController;

          最后我們定義一個路由,讓前端請求訪問此路由。框架會監聽路由是否被訪問,如果被訪問了則會調用我們定義在controller層的新增用戶的方法。我們在app/router.js文件中添加如下代碼,即可完成路由的定義。

          //新增用戶路由
            router.post('/user/add', controller.user.addUser);

          完成這步驟后,我們一個新增用戶的功能就已經完成了。接下里我們就測試一下它的實際效果。我們運行命令:npm run dev。啟動項目,然后打開網頁http://127.0.0.1:7001,可以直接在swagger-ui.html頁面中進行測試。結果如下圖所示。

          經過測試,數據已經添加完成。所以數據庫連接也是正常的。

          本次分享暫時先告一段落。請各位小伙伴抬起你們發財的小手,點個贊唄。下次我將會進行和大家分享對數據查改刪的方法。關注我!!!更多精彩分享不迷路。


          關注本頭條號,每天堅持更新原創干貨技術文章。

          如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

          1. 前言

          本教程主要講解如何對Linux用戶進行管理。

          用戶是Linux操作系統中的一個重要組成部分,它可以操作文件并執行其他一些操作。為每個用戶分配一個ID,該ID對于操作系統中的每個用戶都是惟一的。在這篇文章中,我們將了解用戶和用于獲取用戶信息的命令。安裝操作系統之后,將ID 0分配給root用戶,將ID 1至999分配給系統用戶,因此本地用戶的ID從1000開始。

          在Linux系統中,我們可以創建60,000個用戶。現在我們將討論在Linux中管理用戶的重要命令。

          Linux中的用戶管理


          2. 列出Linux中的所有用戶

          請使用帶有-F選項的awk命令。在這里,我們查看/etc/passwd文件,并在print 和awk的幫助下只打印第一個字段。

          awk -F':' '{ print }' /etc/passwd

          列出Linux中的所有用戶


          3. 使用`id`命令

          您可以獲得任何用戶名的id。每個用戶都有一個分配給它的id,通過這個id來識別用戶。默認情況下,這個id也是用戶的組id。

          語法:

          id username

          例如,查看root的id

          id root

          查看Linux系統所有用戶


          4. 添加用戶的命令

          useradd命令向系統添加一個新用戶。用戶根據所屬的類別自動獲得ID。用戶的用戶名將由我們在命令中提供。

          語法:

          sudo useradd username

          例子:添加用戶geeks

          sudo useradd geeks

          5. 使用passwd命令為用戶分配密碼。

          在使用此命令后,我們必須為用戶輸入新密碼,然后將密碼更新為新密碼。

          使用passwd命令為用戶分配密碼


          語法:

          passwd username

          例如:

          passwd geeks

          6. 訪問系統用戶配置文件。

          cat /etc/passwd

          這個命令打印用戶配置文件的信息。

          username : x : user id : user group id : : /home/username : /bin/bash

          7. 修改用戶ID

          語法:

          usermod  -u new_id username

          例如:修改用戶zcwyou的ID為1004

          usermod  -u 1004 zcwyou

          此命令可以更改用戶的用戶ID。具有給定用戶名的用戶將使用命令中給定的新ID進行分配,舊ID將被刪除。

          8. 修改用戶組ID

          語法:

          usermod -g  new_group_id username

          這個命令可以更改用戶的組ID,因此它甚至可以用來將用戶移動到一個已經存在的組。它將更改給定用戶名的用戶的組ID,并將組ID設置為給定的new_group_id。

          例如:修改用戶zcwyou的組ID為1004,修改的前提條件是,已經存在1004這個組。

          usermod -g  1004 zcwyou

          9. 修改登錄用戶名

          您可以使用usermod命令修改用戶登錄名。下面的命令用于更改用戶的登錄名。用戶的舊登錄名更改為新設置的登錄名。

          修改登錄用戶名


          語法:

          sudo usermod -l new_login_name old_login_name

          使用案例:把a用戶登錄名修改為b。

          sudo usermod -c b a

          10. 更改主目錄的命令。

          下面的命令更改給定用戶名的用戶的主目錄,并將指定用戶的主目錄設置為新設置的目錄。

          語法:

          usermod -d new_home_directory_path username

          案例,把用戶test的主目錄設置為new_home_directory

          usermod -d new_home_directory test

          11. 刪除用戶名

          下面的命令用于刪除指定用戶。確保用戶不是組的一部分。如果用戶是組的一部分,那么它不會被直接刪除,因此我們必須先將他從組中刪除,然后才能刪除它。

          語法:

          userdel -r username

          使用案例,刪除用戶new_geeks

          sudo userdel -r new_geeks

          12. 結論

          通過本文,我們應該對Linux系統中的用戶管理有了進一步的了解了,如果你有任何疑問,請留言。

          本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:https://www.linuxrumen.com/cyml/1727.html

          點擊了解更多,快速查看更多的技術文章列表。

          介紹

          昨天我們已經對TFUMS系統的需求進行了分析,今天福哥帶著大家把TFUMS的數據表設計一下。根據我們的需求分析結果可以知道,TFUMS只有一個模塊就是用戶模塊,該模塊只有一個模型就是用戶模型。而且用戶模型的屬性和功能已經設計好了,現在我們就根據這些設計好的內容進行數據庫的設計了。

          數據庫

          數據庫名稱自然就是tfums了,這個沒有什么可說的了。

          CREATE DATABASE `tfums` DEFAULT CHARSET `utf8`;

          數據表

          數據表這里福哥打算建立兩個數據表一個是User的基礎數據表,另外一個是User的個人資料表,這兩個表之間是主附關系。

          用戶基礎表

          用戶基礎表名稱是user,這個表里保存用戶的基本數據,包括用戶ID、用戶密碼等等。

          CREATE TABLE `user`(
          userID int NOT NULL AUTO_INCREMENT,
          passwd char(32) NOT NULL,
          createDT datetime NOT NULL,
          lastLoginDT datetime NULL,
          userFlag tinyint NOT NULL,
          userState tinyint NOT NULL,
          PRIMARY KEY(userID)
          );

          可以看到user表的userID是主鍵且會自動增加,這里面的userID將成為TFUMS的注冊用戶的唯一ID標識。

          用戶個人信息表

          用戶個人信息表的名稱是user_profile,這個表從命名上就可以看出是user表的附屬表,它用來保存用戶的個人信息,包括用戶昵稱、用戶頭像等等。

          CREATE TABLE `user_profile`(
          userID int NOT NULL,
          nickName varchar(45) NULL,
          iconFileName varchar(45) NULL,
          PRIMARY KEY(userID)
          );

          可以看到我們在user_profile表里也建立了userID字段,也就是說我們在想這兩個表寫入數據的時候要保證user.userID和user_profile.userID是相同的、一對一對的。

          總結

          今天童鞋們跟著福哥完成了用戶管理系統TFUMS的數據庫和數據表的設計,大家要知道數據表的改動是一個非常嚴肅的事情。雖然福哥在建立數據表的時候輕車熟路就建好了,不過童鞋們在建立數據表的時候,調整數據表的字段的時候一定要考慮再三之后再動手。

          下一課我們就開始開發TFMUS的User模型的代碼了,大家要跟著來哦~~


          https://m.tongfu.net/home/35/blog/512889.html


          主站蜘蛛池模板: 日韩精品人妻一区二区中文八零| 在线视频一区二区三区三区不卡| 日本精品一区二区在线播放| 国产免费私拍一区二区三区| 免费播放一区二区三区| 国产伦精品一区二区三区四区 | 国产激情一区二区三区在线观看| 无码人妻久久久一区二区三区| 亚洲爽爽一区二区三区| 国产精品一级香蕉一区| 久久4k岛国高清一区二区| 亚洲成人一区二区| 成人免费视频一区二区| 色一乱一伦一区一直爽| 成人久久精品一区二区三区| 国产主播福利一区二区| 精品国产AV一区二区三区| 无码精品国产一区二区三区免费| 综合久久一区二区三区 | 日韩一区二区三区在线精品| 中文字幕AV一区二区三区| 蜜桃无码AV一区二区| 久久无码AV一区二区三区| 亚洲一区二区三区免费在线观看| 亚洲AV乱码一区二区三区林ゆな| 精品国产日产一区二区三区| 国产精品一区二区av| 久久99国产精品一区二区| 国产丝袜视频一区二区三区| 久久精品一区二区东京热| 国产成人AV一区二区三区无码 | 91一区二区三区| 国产内射999视频一区| 日本精品高清一区二区| 亚洲韩国精品无码一区二区三区| 中文字幕一区二区人妻性色| 无码人妻精品一区二区三18禁| 人妻少妇精品视频一区二区三区| 久久国产精品无码一区二区三区| 亚洲综合无码一区二区三区| 91福利国产在线观一区二区|