我试图使用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)时,有一个选项“从剪贴板添加连接”(虽然我不知道它在做什么),它返回一个错误:-“无法从字符串“Give the quick”(这是密码)解析连接参数”
但是,当我在Mysql工作台中扫描任何新服务器时,它并没有显示任何新服务器。
这与您的程序无关。首先,您需要确保您的MySQL数据库正在运行,然后尝试执行您的程序。
除此之外,虽然一旦您确保您的MySQL服务器启动并运行,您将能够运行您的程序,但您的程序设计得并不好,例如您应该考虑以下几点:
MysqlDataSource dataSource
应该标记为私有
,然后您应该有公共
getterConnection getConnection()
应该在您的类数据库
类Database
请注意,上述几点只是一些建议,并不是一个完整的列表。我建议您充分理解OOPS概念,并将其应用到所有程序中。
问题内容: 以root用户身份登录后,在 MySQL 命令行客户端中键入: 现在在 Java中 ,我使用驱动程序使用admin userid成功连接到数据库。 为什么插入命令有效,但授权命令却无法通过Java工作? 请帮忙。 问题答案: 在这里,您只能执行MySQL查询,但 不是MySQL查询,它只是MySQL的命令。
我有一个< code>_payments数据库,其中有一个< code>users表,表中有< code>id 、< code >用户名 、< code >密码。密码使用散列盐。我的开发人员不可用,我需要创建一个新用户。为此,我应该运行什么查询?
主要内容:1. 使用CREATE USER语句创建用户,2. 使用 INSERT 语句新建用户,3. 使用GRANT语句新建用户MySQL 在安装时,会默认创建一个名为 root 的用户,该用户拥有超级权限,可以控制整个 MySQL 服务器。 在对 MySQL 的日常管理和操作中,为了避免有人恶意使用 root 用户控制数据库,我们通常创建一些具有适当权限的用户,尽可能地不用或少用 root 用户登录系统,以此来确保数据的安全访问。 MySQL 提供了以下 3 种方法创建用户。 使用 CREAT
问题内容: 您能帮忙解决这个问题吗? 我正在尝试创建然后使用一个名为TIGER的数据库。 如果我在MySQL中创建数据库并且运行完美,我没有问题。 我想做的是从Java创建它。这样,当首次运行代码时,它将在初始启动过程中创建数据库。如果可能的话,我想用一种干净的方法将其装箱。 有人可以告诉我您实际将代码放置在哪里 这是代码 这是创建数据库的代码 在此先感谢,感谢您的帮助。 因为我是一个长期读者但还
问题内容: 我想执行一条语句,但是仅当用户不存在时才执行。 最好的方法是什么? 问题答案: 如果要创建用户,则还需要创建一个授权。如果授权不存在,则该授权会隐式创建一个用户(这就是为什么鼓励您在创建授权时包括密码,以防万一它们不存在的原因)。参见http://dev.mysql.com/doc/refman/5.1/en/grant.html 因此,一种选择是仅创建授予(使用密码),然后隐式创建用
如何生成存根或创建此文件夹?