相比与java,nodejs的mysql连接方式较为简单,但需要注意其异步特性
1. 导入mysql
模块
建立mysql
连接时,需要用到mysql
模块,一个简单的require
即可完成操作
var mysql = require('mysql');
2. 配置mysql
的连接参数
在java
的数据库连接工具JDBC
中,数据库的连接参数以一个url
的形式给出.
在nodejs
的mysql
模块中,需要调用该模块的方法createConnection()
,该方法的参数为JSON
格式,该JSON
通过规定好的各个参数来自写入数据库的连接数据
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
database : 'ttms',
charset : 'utf8'
});
3.连接并使用数据库
- 如上代码,连接参数配置之后,将创建一个
connection
对象,使用该对象的connect()
方法来进行数据库的连接
connection.connect();
- 连接之后便可以使用
query()
函数,来执行数据库的语句,一个简单的查询示例如下:
var mysql = require('mysql');
var dbFunc = {
fetchById : function(id,callback){
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
database : 'ttms',
charset : 'utf8'
});
connection.connect();
var sql = "select * from studio where studio_id = " +id;
connection.query(sql,function(err,result){
if(err)
throw err;
callback(result);
});
}
}
module.exports = dbFunc;
4. 需要注意,不同于java
语言,nodejs
的mysql
操作是异步的
- 如上代码中,我在传入查询的
id
的同时,还传入了一个callback
函数,用来做出数据查询完成后的操作,这是由nodejs
的mysql
模块的异步特性决定的,传入这样一个回调函数,让只有当数据的查询操作完成后,才会执行后续的处理操作,如下为一个简单的调用操作(function.js
为上面的查询操作的文件名):
var dbFunc = require('./function.js');
var callback = function(result){
console.log("search result :");
console.log(result);
}
dbFunc.fetchById(2,callback);
网友评论