本手册下载

2.3使用会话对象

前面的所有示例都使用getSchema ()getDefaultSchema ()方法,它们返回一个Schema对象。您可以使用这个Schema对象访问集合和表。大多数示例都利用X DevAPI功能将所有对象结构链接起来,使您能够在一行中获得Schema对象。例如:

模式= mysqlx.getSession(…).getSchema ();

这个对象链等价于下面,不同的是省略了中间步骤:

会话= mysqlx.getSession ();模式= session.getSchema()。

没有要求总是链式调用,直到获得Schema对象,也不总是您想要的。例如,如果您想使用Session对象来调用Session对象方法getSchemas (),不需要向下导航到Schema。例如:

会话= mysqlx.getSession ();session.getSchemas()。

在本例中mysqlx.getSession ()函数用于打开会话。然后Session.getSchemas ()函数用于获取所有可用模式的列表并将它们打印到控制台。

MySQL Shell JavaScript代码

//连接MySQL并使用Session var mysqlx = require('mysqlx');//使用连接URI var mySession = mysqlx.getSession('user:密码@localhost”);//获取所有可用模式的列表var schemaList = myssession . getschemas ();print('此会话中可用的模式:\n');//遍历所有可用的模式并打印它们的名称(index in schemaList) {print(schemaList[index].name + '\n');} mySession.close ();

MySQL Shell Python代码

#使用连接URI连接MySQL服务器mySession = mysqlx.get_session('user:密码@localhost') #获取所有可用模式的列表schemaList = myssession .get_schemas() print('此会话中可用的模式:\n') #遍历所有可用模式并在schemaList中打印它们的模式名:print('%s\n' % schema.name) myssession .close()

node . js JavaScript代码

//连接MySQL并使用Session var mysqlx = require('@mysql/xdevapi');//使用连接URI连接到专用的MySQL服务器mysqlx .getSession('user:password@localhost') .then(function (mySession){//获取所有可用模式的列表返回myssession . getschemas ();}) .then(函数(schemaList) {console.log('此会话中的可用模式:\n');//遍历所有可用模式并打印它们的名称schemaList。forEach(函数(schema) {console.log(schema. getname () + '\n');});});

c#代码

//使用连接URI var mySession = mysqlx . getsession ("mysqlx://user:password@localhost:33060");//获取所有可用模式的列表var schemaList = myssession . getschemas ();控制台。WriteLine(“此会话中可用的模式:”);//遍历所有可用模式并打印它们的名称foreach (var schema in schemaList) {Console.WriteLine(schema. name);} mySession.Close ();

Python代码

mySession = mysqlx.get_session('user: ')密码@localhost') #获取所有可用模式的列表schemaList = myssession .get_schemas() print('此会话中可用的模式:\n') #遍历所有可用模式并在schemaList中打印它们的模式名:print('%s\n' % schema.name) myssession .close()

Java代码

进口并不知道;进口com.mysql.cj.xdevapi。*;//连接MySQL并使用会话//使用连接URI连接到专用的MySQL服务器Session myssession = new SessionFactory().getSession("mysqlx://localhost:33060/test?user=user&password=password");//获取所有可用模式的列表list  schemaList = myssession . getschemas ();system . out。println("此会话中可用的模式:");//遍历所有可用模式并打印它们的名称(模式模式:schemaList) {System.out.println(Schema . getname ());} mySession.close ();

c++代码

#include  //连接MySQL并使用会话//使用连接URI字符串连接到专用的MySQL服务器url = "mysqlx://localhost:33060/test?user=user&password=password";{会话mySession (url);//获取所有可用模式的列表std::list schemaList = myssession . getschemas ();cout << "此会话中可用的模式:" << endl;//循环遍历所有可用的模式并打印它们的名称(Schema Schema: schemaList) {cout << Schema . getname () << endl;}}