Java在使用MySQL數(shù)據(jù)庫(kù)時(shí),需要進(jìn)行數(shù)據(jù)庫(kù)連接和操作。其中,調(diào)用命令行MySQL是一種常見的方法。接下來(lái),將介紹Java如何通過(guò)命令行調(diào)用MySQL,并進(jìn)行數(shù)據(jù)庫(kù)操作。
// 導(dǎo)入所需類庫(kù)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// 命令行調(diào)用MySQL
public class MysqlOperate {
public static void main(String[] args) {
String command = "mysql -h127.0.0.1 -uroot -p123456"; // MySQL登錄命令
String database = "use test"; // 選擇數(shù)據(jù)庫(kù)命令
String sql = "select * from user"; // 數(shù)據(jù)庫(kù)操作命令
try {
Runtime runtime = Runtime.getRuntime(); // 運(yùn)行時(shí)環(huán)境對(duì)象
Process process = runtime.exec(command); // 執(zhí)行MySQL登錄命令
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
reader.close();
System.out.println(stringBuilder); // 輸出登錄信息
process.getOutputStream().write(database.getBytes()); // 執(zhí)行選擇數(shù)據(jù)庫(kù)命令
process.getOutputStream().write("\n".getBytes()); // 模擬鍵盤輸入Enter鍵
process.getOutputStream().write(sql.getBytes()); // 執(zhí)行數(shù)據(jù)庫(kù)操作命令
process.getOutputStream().write("\n".getBytes());
process.getOutputStream().write("exit".getBytes()); // 輸入exit命令并退出MySQL
process.getOutputStream().write("\n".getBytes());
process.getOutputStream().flush();
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
以上代碼中,建立了一個(gè)名為MysqlOperate的Java類,通過(guò)使用Runtime.getRuntime().exec()方法執(zhí)行MySQL命令行。在執(zhí)行完MySQL登錄命令后,可以獲取登錄信息,具體輸出內(nèi)容可在StringBuilder中查看。執(zhí)行完選擇數(shù)據(jù)庫(kù)命令和數(shù)據(jù)庫(kù)操作命令后,最后輸入exit命令并退出MySQL。
這就是Java調(diào)用命令行MySQL的方法,可以方便地進(jìn)行MySQL數(shù)據(jù)庫(kù)的連接和操作。