MySQL连接和命令

时间:2015-07-09 01:51:35

标签: java mysql servlets

我已经看到了Java servlet最初连接到MySQL数据库的代码片段。在这种情况下,它通过JDBC API使用整个Class.forName()方法。但是,我在其他地方也看到,当servlet连接到数据库并执行命令时,它使用Runtime.getRuntime()。exec(命令字符串)。这是两种完全不同的方法,但两者似乎都与数据库通信。 **后一个servlet是否以与前者相同的方式连接到数据库,我还没有看到代码的那部分?或者,servlet与数据库通信只有两种不同的方式吗? **这两种方法是否一致(一种用于设置,另一种用于常用命令)?或者,我可以根据个人喜好使用JDBC API或Runtime.exec()方法运行SQL命令吗?

1 个答案:

答案 0 :(得分:1)

第一个示例 曾经 需要来加载JDBC驱动程序,它不是自JDBC 4.0以来;另请参阅DriverManager Javadoc,其中(部分)

  

应用程序不再需要使用Class.forName()明确加载JDBC驱动程序。当前使用Class.forName()加载JDBC驱动程序的现有程序将继续工作而无需修改。

第二个例子Runtime.exec(String)(根据链接的Javadoc)

  

在单独的进程中执行指定的字符串命令。

并不仅限于运行MySQL命令,但我强烈建议不要在服务器端代码中使用它( shudder )。