yhbatis
Version:
Like Mybatis for nodejs By YYH.
48 lines (45 loc) • 1.29 kB
JavaScript
var util = require('util');
var fs = require('fs');
var xml_digester = require("./custom-module/xml-digester");
var digester = xml_digester.XmlDigester({});
var analysis = require("./analysis").analysis;
var jsMapper =[];
function yhbatis(){};
var exportYH = new yhbatis();
process.on('uncaughtException', function (err) {
console.log('uncaughtException');
console.log(err.stack);
});
yhbatis.prototype.createYHBatis = function(mapper){
if(mapper == null || mapper.length == 0){
throw new Error("mapper null");
}
recursionXml(mapper,0,function(){
analysis.mappingSection(jsMapper);
});
};
yhbatis.prototype.sqlSection = function(section,dto,callback){
analysis.sqlSection(section,dto,pool,callback);
}
function recursionXml(mapper,i,callback){
if(mapper.length == i ){
callback();
return;
}
fs.readFile(mapper[i],'utf8', function(error, data) {
if (error) {
throw new Error(error);
} else {
digester.digest(data, function(error, res) {
if (error) {
throw new Error(error);
} else {
console.log("clear Translated "+mapper[i]);
jsMapper[i] = res;
recursionXml(mapper,++i,callback);
}
});
}
});
}
exports.yhbatis = exportYH;