此类用于生成和获取有关会话(Session
对象)的信息。要创建实例,请使用
require()
带有驱动程序名称的 Node.js 函数,如下所示:
var nosql = require("mysql-js");
ConnectionProperties
可用于检索或设置给定会话的连接属性。您可以使用此处显示的构造函数为给定适配器获取一组完整的默认连接属性,其中适配器ConnectionProperties
的名称(字符串)用作 的值
nameOrProperties
:
ConnectionProperties(nameOrProperties);
ConnectionProperties
您还可以通过向新
ConnectionProperties
对象提供属性名称和值列表来代替适配器名称来
创建自己的
对象。然后您可以使用此对象为新会话设置连接属性,如下所示:
var NdbConnectionProperties = {
"implementation" : "ndb",
"ndb_connectstring" : "localhost:1186",
"database" : "test",
"mysql_user" : "root",
"ndb_connect_retries" : 4,
"ndb_connect_delay" : 5,
"ndb_connect_verbose" : 0,
"linger_on_close_msec": 500,
"use_ndb_async_api" : false,
"ndb_session_pool_min" : 4,
"ndb_session_pool_max" : 100,
};
var sharePath = '/usr/local/mysql/share/nodejs'; // path to share/nodejs
var nosql = require(sharePath);
var dbProperties = nosql.ConnectionProperties(NdbConnectionProperties);
也可以获取具有适配器默认连接属性的对象,之后您可以更新选定数量的这些属性,然后使用修改后的对象为会话设置连接属性,如下所示:
var sharePath = '/usr/local/mysql/share/nodejs'; // path to share/nodejs
var spi = require(sharePath + "/Adapter/impl/SPI"); // under share/nodejs
var serviceProvider = spi.getDBServiceProvider('ndb');
var NdbConnectionProperties = serviceProvider.getDefaultConnectionProperties();
NdbConnectionProperties.mysql_user = 'nodejs_user';
NdbConnectionProperties.database = 'my_nodejs_db';
var dbProperties = nosql.ConnectionProperties(NdbConnectionProperties);
该ConnectionProperties
对象包括以下属性:
implementation
:对于使用 NDB Cluster 的 Node.js 应用程序,这始终是“ ndb ”。ndb_connectstring
:用于连接管理服务器的 NDB Cluster 连接字符串。database
:要使用的 MySQL 数据库的名称。mysql_user
:MySQL用户名。ndb_connect_retries
:超时前重试失败连接的次数;为此使用一个小于 0 的数字来继续尝试连接而不会停止。ndb_connect_delay
:连接重试之间的间隔(以秒为单位)。ndb_connect_verbose
: 1 或 0; 1 在连接期间启用额外的控制台输出。linger_on_close_msec
:当客户端关闭 aDBConnectionPool
时,底层连接将保持打开这么多毫秒,以防另一个客户端尝试重用它。use_ndb_async_api
:如果为 true,则使用异步调用执行某些操作以提高并发性。如果为 false,传输中的操作数限制为每个工作线程一个。ndb_session_pool_min
DBSession
:每个对象 的最小数量NdbConnectionPool
。-
ndb_session_pool_max
DBSession
:每个对象 的最大数量NdbConnectionPool
。每个都
NdbConnectionPool
维护一个DBSession
对象池,以及它们的底层Ndb
对象。此参数与 一起ndb_session_pool_min
设置该池大小的准则。
构造
TableMapping
函数也作为顶级函数可见。您可以通过名称或使用现有映射来获取映射:
TableMapping(tableName);
TableMapping(tableMapping);
openSession(properties, mappings, Function(err, Session) callback);
连接到数据源并
Session
在callback
函数中获取一个。这相当于调用connect()
(请参阅本节后面部分),然后调用
回调函数中返回的
getSession()
。
SessionFactory
执行此方法可能会导致连接到网络上的许多其他节点,等待它们准备就绪,并向它们发出多个请求。因此,您应该避免不必要地打开新会话。
对象的实现成员
properties
决定了
Session
.
如果mappings
是未定义、null 或空数组,则不会加载或验证任何映射。在这种情况下,在执行过程中需要时会加载和验证任何必需的映射。如果mappings
包含字符串或构造函数,则表(或映射表)的元数据将从数据库加载并根据映射的要求进行验证。
多个表和构造函数可以
openSession()
作为数组中的元素传递给。
connect(properties, mappings, Function(err, SessionFactory) callback);
连接数据源获取
函数SessionFactory
中的一个。callback
为了获得 a
Session
,您必须调用getSession()
this
SessionFactory
,其实现由
properties
对象的实现成员决定。
如果mappings
是未定义、null 或空数组,则不会加载或验证任何映射。在这种情况下,任何需要的映射都会在需要时加载和验证。如果
mappings
包含字符串或构造函数,则表(或映射表)的元数据将从数据库加载并根据映射的要求进行验证。
多个表和构造函数可以作为数组中的元素传递。
Array getOpenSessionFactories()
SessionFactory
获取此模块创建的所有对象
的数组
。
以下函数是公共 API 的一部分,但不适合应用程序使用。Mynode
它们构成和
之间合同的一部分SessionFactory
。
Connection()
getConnectionKey()
getConnection()
newConnection()
deleteFactory()