读取外部数据库
本帖最后由 irisnet 于 2022-9-2 21:42 编辑请教一下, 现在和另外一个系统,采用中间表的方案。
1、中间表,建立在另外系统的MySQL数据库中;
请问这种方式, 我们应该如何读取 和 写入 中间表, 感谢!
我看到 消息 是支持 通过 配置外部数据库方式写入 到 外部数据库的。 本帖最后由 irisnet 于 2022-9-2 22:41 编辑
这种方式能连接外部数据库么?
function connectMysql(){ //连接MySQL
try {
print("connect mysql==============================");
//加载驱动类
Java.type("com.mysql.cj.jdbc.Driver");
Connection connection = Java.type("com.mysql.cj.jdbc.DriverManager").getConnection("jdbc:mysql://127.0.0.1:3306/schooldb?serverTimezone=Asia/Shanghai", "root", "root");//通过DriverManager接口中的getConnection方法获取数据库连接
PreparedStatement preparedStatement = connection.prepareStatement("string");//获取数据库操作对象,不同的是PreparedStatement是通过预编译的方式写入sql语句,可以有效防止sql注入
var string = "SELECT * FROM student";//string语句中用来书写在数据库中的sql语句
ResultSet resultSet = preparedStatement.executeQuery();//查询语句时使用,可以通过resultSet对象获取结果集
resultSet.getInt("");//括号中填写属性名
resultSet.getString("");
int count = preparedStatement.executeUpdate();//增,删和修改语句时使用,可以通过resultSet对象返回修改的记录数
resultSet.close();//只有查询语句时才需要关闭resultSet
preparedStatement.close();//关闭开启的通道
connection.close();//将开启的通道关闭,释放资源
} catch (e) {
e.printStackTrace();
e.printStackTrace();
result.state = "NMT0002";
result.message = "失败";
result.data = e.name + ": " + e.message
}
} 或者这种:
var someDatabaseFun = function() {
var Properties = Java.type("java.util.Properties");
var Driver = Java.type("com.mysql.cj.jdbc.Driver");
var driver = new Driver();
var properties = new Properties();
properties.setProperty("user", "sa");
properties.setProperty("password", "");
try {
var conn = driver.connect(
"jdbc:h2:~/test", properties);
// Database code here
}
finally {
try {
if (conn) conn.close();
} catch (e) {}
}
}
someDatabaseFun(); // Declaring the runQuery function
function runQuery(conA, query) {
try {
var stmt = conA.prepareStatement(query);
var resultSet = stmt.executeQuery();
print(" --------------------------- ");
while (resultSet.next()) {
print("\t" + resultSet.getString("custId") + " - "+ resultSet.getString("custName"))
}
print(" --------------------------- ");
} finally {
if (resultSet)
try {
resultSet.close();
print("\nResultSet Closed.");
}
catch(e) {}
if (stmt)
try {
stmt.close();
print("Statement Closed.");
} catch (e) { print( e );}
if (conA)
try {
conA.close();
print( "Connection Closed." );
} catch (e) { print( e );}
}
} o2oa提供了很多后端api获取数据的,您可以在服务管理中创建接口,获取到数据后与外部系统交互
请参考:https://www.o2oa.net/cms/apicourse/325.html
页:
[1]