本文概述
- 要求
- 实现
要求 要使用Node.js与MySQL进行互操作(在我们的示例中, 我们使用的Xampp包括PHPMyAdmin), 你需要以下名为mysql的节点包。
你可以在Node.js命令提示符下执行以下命令, 将此包添加到项目中:
npm install mysql
然后, 你将可以使用Javascript要求mysql模块。
【如何在Electron Framework中连接到MySQL数据库】注意:此模块是异常安全的。这意味着你可以继续使用它, 即使你的一个回调函数引发了使用” uncaughtException” 或域捕获的错误。
实现 首先, 你需要首先学习如何使用mysql模块与数据库建立基本连接。你需要使用required()的检索到的对象创建一个连接, 然后将包含有关连接的基本信息(主机, 用户名, 密码和数据库名称)的对象作为第一个参数提供:
var mysql = require('mysql');
// Add the credentials to access your databasevar connection = mysql.createConnection({host: 'localhost', user: 'root', password : null, // or the original password : 'apaswword'database : 'ourcodeworld-database'});
// connect to mysqlconnection.connect(function(err) {// in case of errorif(err){console.log(err.code);
console.log(err.fatal);
}});
// Perform a query$query = 'SELECT * FROM `myTableName` LIMIT 10';
connection.query($query, function(err, rows, fields) {if(err){console.log("An error ocurred performing the query.");
console.log(err);
return;
}console.log("Query succesfully executed", rows);
});
// Close the connectionconnection.end(function(){// The connection has been closed});
创建连接时, 请继续使用connect方法进行连接, 然后再使用连接的查询方法执行查询。最后使用end方法关闭连接。
你可以自定义并启用更复杂的功能, 阅读有关node.js的mysql模块的官方文档。既然你对与mysql的连接如何工作有了一点了解, 那么你将能够执行自己的查询, 由你决定如何编写和优化它们。
对于具有结构” ID, NAME” 的表, 以下代码段将在html表中显示Articles表的前10行:
<
!DOCTYPE html>
<
html>
<
head>
<
meta charset="UTF-8">
<
title>
Hello World!<
/title>
<
/head>
<
body>
<
h1>
Connecting to MySQL<
/h1>
<
br>
<
input type="button" id="action-btn" value="http://www.srcmini.com/Retrieve 10 first rows in the database" />
<
table id="table" border="1">
<
tbody>
<
/tbody>
<
/table>
<
/body>
<
script>
var mysql = require('mysql');
function el(selector) {return document.getElementById(selector);
}el('action-btn').addEventListener('click', function(){// Get the mysql servicegetFirstTenRows(function(rows){var html = '';
rows.forEach(function(row){html += '<
tr>
';
html += '<
td>
';
html += row.id;
html += '<
/td>
';
html += '<
td>
';
html += row.name;
html += '<
/td>
';
html += '<
/tr>
';
console.log(row);
});
document.querySelector('#table >
tbody').innerHTML = html;
});
}, false);
function getFirstTenRows(callback){var mysql = require('mysql');
// Add the credentials to access your databasevar connection = mysql.createConnection({host: 'localhost', user: 'root', password : null, database : 'ourcodeworld'});
// connect to mysqlconnection.connect(function(err) {// in case of errorif(err){console.log(err.code);
console.log(err.fatal);
}});
// Perform a query$query = 'SELECT `id`, `name` FROM `articles` LIMIT 10';
connection.query($query, function(err, rows, fields) {if(err){console.log("An error ocurred performing the query.");
console.log(err);
return;
}callback(rows);
console.log("Query succesfully executed");
});
// Close the connectionconnection.end(function(){// The connection has been closed});
}<
/script>
<
/html>
结果应如下所示:
文章图片
玩得开心 !
推荐阅读
- 如何使用Electron Framework在OS的文件浏览器中显示和聚焦文件(或文件夹)
- 如何在Electron Framework中的渲染器进程内执行主进程的功能
- 如何在Electron Framework中提取.zip文件的内容(解压缩)
- 如何在Electron Framework中获取屏幕的宽度和高度
- 如何在Electron Framework中使用最小化,最大化和关闭控件创建自定义无框架窗口(无标题栏)
- 如何使用Electron Framework创建透明窗口
- 如何在Electron Framework中实现和启用语法和拼写检查器
- 如何使用Kali Linux通过字典攻击来入侵Wi-Fi网络(WPA/WPA2)
- 使用intent和get方法时Android应用程序崩溃