java - 使用 Hibernate 更改 MySQL 登录凭据

标签 java mysql hibernate

我看到了很多关于更改 hibernate 用于连接到数据库的凭据的链接,但是没有关于您是否可以使用 hibernate 执行类似 SET PASSWORD FOR 'username'= PASSWORD( '密码')。我还希望能够授予用户特权,显示所有数据库并创建新用户。基本上我可以用 Hibernate 做除了表操作之外的任何事情吗?

例如,我尝试了以下方法来创建用户:

SessionFactory factory = new  Configuration.configuration().buildSessionFactory();
Session session = factory.openSession();
Transaction tx = null;
try{
    tx = session.beginTransaction();
    String query = "CREATE USER 'testUser' IDENTIFIED BY 'password'";
    SQLQuery query = session.createSQLQuery(query);
    tx.commit();
}catch(HibernateException e){
    if(tx != null){
        tx.rollback();
    }
    e.printStackTrace();
}finally{
    session.close();
}
factory.close();

我知道它运行一切正常,但没有创建用户。

最佳答案

您需要在您的 SQLQuery 实例上调用 executeUpdate() - query.executeUpdate() - 这将发出您的 CREATE USER 语句到数据库。目前您正在创建查询实例,但什么也不做。

关于java - 使用 Hibernate 更改 MySQL 登录凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34406761/

相关文章:

java - 事务需要异常 JPA/Spring

java - 类型不匹配 : can't convert from double to int java

java - 如何获取 JsonArrayRequest JSONArray 对 JSONObject 的响应

mysql - 如何将带有特殊字符的字符串插入MySQL?

mysql - JPA集合保存id,但不保存其他字段

java - Spring Boot 应用程序未启动

java - 连接时 Zookeeper java.net.NoRouteToHostException

java - ArrayAdapter 帮助,使用从方法返回的字符串数组填充

php - 如何在mysql数据库中保存xmpp聊天记录

php - 我想更改 MySQL 数据库上的排序规则