所以我一直在(大学刚毕业)通过 Electron 创建一个数据库应用程序作为练习。我已经成功创建了一个仅使用 Java 的程序,该程序使用 JDBC 连接到 MySQL 数据库,但现在我必须以某种方式将其与 Electron GUI 集成,坦率地说,我不知道如何继续。
我搜索过的大多数内容都解释说,通过 JavaScript 连接到数据库是可能的,但由于安全问题完全不建议这样做,所以我想尽可能安全地执行此操作。
有谁知道如何在 Electron 应用程序中运行 Java 来连接到数据库,或者是否有其他我忽略的方法可以使这个看似西西弗斯式的任务变得更加简单?
很抱歉这里可能存在无知,仍在学习不同框架等的来龙去脉。如有任何帮助,我们将不胜感激。
您应该使用node.js来访问mysql。我发现下面的一些例子对您有帮助。 请参阅此处https://ourcodeworld.com/articles/read/259/how-to-connect-to-a-mysql-database-in-electron-framework
为了避免链接页面不可用,我在此处粘贴了代码:
var mysql = require('mysql');
// Add the credentials to access your database
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : null, // or the original password : 'apaswword'
database : 'ourcodeworld-database'
});
// connect to mysql
connection.connect(function(err) {
// in case of error
if(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 connection
connection.end(function(){
// The connection has been closed
});
如果您希望您的应用程序更安全,您可以遵循这些解决方案。
** 解决方案1:将您的电子打包成exe文件。所以数据库连接信息不能被其他人看到。您可以在此网站找到更多建议。
** 方案二:可以使用node.js或Java(Spring)构建一个独立的服务来处理mysql DB。然后使用https中的restful访问服务从DB中获取信息。也很安全
我在构建应用程序时遇到了一些麻烦。 构建正常运行,但是当我打开应用程序时,崩溃并在控制台中显示灰色空白和弹出窗口,导致应用程序崩溃 有人有什么想法吗?