【发布时间】:2020-02-14 09:22:22
【问题描述】:
我正在尝试使用 java 代码在 Mysql 数据库 中创建一个新用户,但该代码不起作用。这是初始化数据库连接并创建用户、设置密码等的数据库类。
package app;
import com.mysql.cj.jdbc.MysqlDataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class Database {
public static MysqlDataSource dataSource;
public static void InitializeData() {
dataSource = new MysqlDataSource();
dataSource.setUser("Quiz");
dataSource.setPassword("Give the quiz");
dataSource.setServerName("localhost");
dataSource.setPort(3306);
dataSource.setDatabaseName("QUIZDATA");
Connection con = Main.getConnection();
try {
Statement st2 = con.createStatement();
st2.execute("CREATE TABLE IF NOT EXISTS Subject1(Question VARCHAR, Option1 VARCHAR, Option2 VARCHAR, Option3 VARCHAR, Option4 VARCHAR, Answer VARCHAR)");
}
catch (SQLException e) {
e.printStackTrace();
}
}
}
这是我的主课。
package app;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.ButtonType;
import javafx.stage.Stage;
import java.sql.Connection;
import java.sql.SQLException;
public class Main extends Application {
@Override
public void start(Stage stage) throws Exception
{
Parent scene = FXMLLoader.load(getClass().getResource("quiz.fxml"));
stage.setTitle("Quiz");
stage.setScene(new Scene(scene));
stage.show();
}
public static void main(String[] args)
{
launch(args);
Database.InitializeData();
}
public static Connection getConnection()
{
Connection con = null;
try
{
con = Database.dataSource.getConnection();
}
catch (SQLException e)
{
Alert alert = new Alert(Alert.AlertType.ERROR, "Database error", ButtonType.OK);
alert.showAndWait();
}
return con;
}
}
但是当我在 Mysql 工作台 中扫描任何新服务器时,它没有显示任何新服务器。
添加:-当我右键单击空白区域(Mysql Workbench)时,有一个选项“从剪贴板添加连接"(虽然我不知道它在做什么),但它返回一个错误:- "Could not parse connection parameters from string "Give the quiz"“(这是密码)”
【问题讨论】:
标签: java mysql datasource