ホームページ >データベース >mysql チュートリアル >MySQL への Express 接続とデータベース接続プールの分析例
Webstorm の新しいプロジェクトを開き、express を選択して Express を作成しますプロジェクト。
作成が成功すると、ページは次のようになります。
mysql に接続するにはデータベースを使用するには、mysql モジュールをインポートする必要があります。
プロジェクト内に構成ファイルを作成し、その構成ファイル内にデータベースに接続するための configfigdb.js ファイルを作成し、次のように記述しますファイル内:
var mysql = { host: "127.0.0.1",//这是数据库的地址 user: "root",//需要用户的名字 password: "root23",//用户密码 ,如果你没有密码,直接双引号就是 database: "info",//数据库名字 port:3306//数据库使用的端口号 } module.exports = mysql;//用module.exports暴露出这个接口
const express = require('express'); const router = express.Router(); //导入MySQL 模块 const mysql = require('mysql'); //导入配置文件 const db = require('../config/configdb'); router.get('test',(req,res)=>{ //创建数据库连接对象 let conn = mysql.createConnection(db); //查询bookinfo中所有数据 conn.query('select * from student',(err,results,fieldes)=>{ //fieldes表示具体的字段 if(err){ throw err; } res.send(results); }) //关闭数据库链接 conn.end((err)=>{ console.log(err); }) module.exports = router;
完了後、app.jsファイルに追加します:
var dbRouter = require('./routes/option') app.use('/db',dbRouter);
Postmanで次のようにテストします。
データベース接続プールは、次の場合に十分な数のデータベース接続オブジェクトを確立します。プログラムが開始され、これらの接続オブジェクトが接続されます。 プールが形成され、プログラムはプール内の接続オブジェクトを動的に申請、使用、および解放します。
データベース接続プールは、データベース接続オブジェクトの割り当て、管理、解放を担当します。これにより、アプリケーションは既存のデータベース接続オブジェクトを再利用できます。再作成するのではなく。
var mysql = require('mysql');
接続プールを作成します
var pool = mysql.createPool(options);
options パラメータは、多くの属性設定を含むオブジェクトです。このオブジェクトは、接続プール内の接続によって均一に使用されるさまざまなオプションを指定するために使用されます。
//创建数据库连接池 const pool = mysql.createPool({ connectionLimit:20, host:'localhost', port:3306, user:'root', password:'123456', database:'info' }) //导出数据库连接池对象 module.exports = pool;
connectionLimit
: 接続プール内のリンクの最大数を指定するために使用され、デフォルトの属性値は 10 です。queueLimit
: 使用されます。許可される保留中の接続の最大数を指定します。保留中の接続の数がこの値を超えると、すぐにエラーがスローされます。デフォルトの属性値は 0 です。これは、許可されない保留中の接続の最大数を表します。multipleStatements
: 複数の SQL ステートメントの実行を許可するかどうか、デフォルト値は false です。host
: データベース サーバーのアドレスuser
: 接続データベースのユーザー名password
: データベースに接続するためのパスワードdatabase
: データベース名
pool.getConnection((err, conn) => { if (err) { console.log(err) } else { let sql = 'select * from bookinfo'; conn.query(sql, (err, results) => { if (err) { console.log(err) } else { res.send(results); conn.release(); } }) } })
conn.release();
const express = require('express'); const pool = require('../config/dbmysql'); const router = express.Router(); /* * http://localhost:3000/dbmysql/books * */ router.get('/books',(req,res)=>{ //从数据库连接池中获取数据库连接对象 pool.getConnection((err,conn)=>{ if(err){ console.log(err) }else { let sql = 'select * from bookinfo'; conn.query(sql,(err,results)=>{ if (err) { console.log(err) }else { res.send(results); conn.release(); } }) } }) }) module.exports = router;
結果テスト:
以上がMySQL への Express 接続とデータベース接続プールの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。