应当会得到以下输出:
John Doe
Jane Jones
Julie Morgan
使用 JRuby 将数据插入 Derby
插入数据同样简单。使用 JDBC,先检索连接,然后添加清单 7 中所示的两行。
清单7:插入数据
insertStmt = connection.createStatement()
insertStmt.execute("insert into employees values (11,
'James Cotton',
'Research Associate',
'Lab 1')");
运行代码后,应当会打印以下结果:
运行代码后,应当会打印以下结果:
John Doe
Jane Jones
Julie Morgan
James Cotton
更新和删除都遵循相同的范式,使用 Statement 或 PreparedStatement。
使用 JDBC 事务
通常,修改数据库中的数据时,需要使用事务来保证更改都是在一个逻辑块中做出的。JDBC 的事务都可在 JRuby 中访问。在清单 8 中所示的示例中,调用 connection.setAutoCommit(false) 将启动事务,而调用 connection.rollback() 将回滚该事务。类似地,使用 connection.commit() 来提交事务。
清单8:通过 JDBC 用 JRuby 调用 Derby
connection = JavaSql::DriverManager.getConnection("jdbc:derby:jrubyDB;create=true",
"",
"")
connection.setAutoCommit(false)
insertStmt = connection.createStatement()
insertStmt.execute("insert into employees values (11,
'James Cotton',
'Research Associate',
'Lab 1')");
connection.rollback()
正如您所见,通过 JDBC 用 JRuby 调用 Derby 很简单并且几乎与使用纯 Java 代码完全相同。