26.4.6. 在Java对象中运行
有1个java应用程序并打算嵌入MySQL数据库,直接使用com.mysql.management.MysqldResource类。可以使用默认的构造函数(无参量)例示该类,或者通过在java.io.File对象(代表希望服务器解包至的目录)中传递类来例示之。也可用针对“stdout”和“stderr”(用于记录)的输出流例示它。
一旦完成例示,java.util.Map,该对象将能提供与平台以及希望使用的MySQL版本相适应的服务器选项的java.util.Map。
MysqldResource允许你使用所提供的服务器选项的java.util.Map启动MySQL,并允许你关闭数据库。在下面的示例中,给出了使用明码java对象将MySQL嵌入到应用程序的简单方法。
import com.mysql.management.MysqldResource;
...
public void startMySQL() {
File baseDir = new File(ourAppDir, "mysql");
mysqldResource = new MysqldResource(baseDir);
Map options = new HashMap();
options.put("port", "3336");
String threadName = "OurApp MySQL";
mysqldResource.start(threadName, options);
}
public void stopMySQL() {
if (mysqldResource != null) {
mysqldResource.shutdown();
}
mysqldResource = null;
}
public java.sql.Connection getConnection() throws Exception {
String db = "test";
String url = "jdbc:mysql://localhost:3336/" + db;
String userName = "root";
String password = "";
Class.forName(com.mysql.jdbc.Driver.class.getName());
return DriverManager.getConnection(url, userName, password);
}