Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过hibernate动态创建和切换数据库 请考虑这样的情景: (1) 有一个全局数据库A,包括两个表:用户、配置。 (2) 表用户有三列:UserId、UserName、UserPass。 (3) 表Configs有六列:Id、UserId、Host、Port、DBUser、DBPass。 (4) 另一个数据库用户包含许多表。 当用户A登录时,应用程序将通过数据库中的表用户检查用户密码,然后从数据库A中的表配置中获取用户A的数据库连接字符串。所有其余操作都基于数据库用户A。 此外,当用户登录时,没有相应的数据库,应用程序应首先创建相应的数据库。_Java_Mysql_Database_Hibernate_Spring Mvc - Fatal编程技术网

Java 通过hibernate动态创建和切换数据库 请考虑这样的情景: (1) 有一个全局数据库A,包括两个表:用户、配置。 (2) 表用户有三列:UserId、UserName、UserPass。 (3) 表Configs有六列:Id、UserId、Host、Port、DBUser、DBPass。 (4) 另一个数据库用户包含许多表。 当用户A登录时,应用程序将通过数据库中的表用户检查用户密码,然后从数据库A中的表配置中获取用户A的数据库连接字符串。所有其余操作都基于数据库用户A。 此外,当用户登录时,没有相应的数据库,应用程序应首先创建相应的数据库。

Java 通过hibernate动态创建和切换数据库 请考虑这样的情景: (1) 有一个全局数据库A,包括两个表:用户、配置。 (2) 表用户有三列:UserId、UserName、UserPass。 (3) 表Configs有六列:Id、UserId、Host、Port、DBUser、DBPass。 (4) 另一个数据库用户包含许多表。 当用户A登录时,应用程序将通过数据库中的表用户检查用户密码,然后从数据库A中的表配置中获取用户A的数据库连接字符串。所有其余操作都基于数据库用户A。 此外,当用户登录时,没有相应的数据库,应用程序应首先创建相应的数据库。,java,mysql,database,hibernate,spring-mvc,Java,Mysql,Database,Hibernate,Spring Mvc,如何实现它?我正在使用struts2+spring+hibernate。 非常感谢您的回答:)在构建会话工厂时,数据库需要存在。每个用户创建一个数据库是一个非常奇怪的要求 您可以有一个数据库和多个用户帐户,并且可以使用角色和权限限制用户的访问 您可以使用HibernateConnectionProvider来控制数据库连接,但动态创建数据库需要访问操作系统外壳。我们在系统中使用了多个数据源,但它们是在XML文件中硬编码的。据我记忆所及,我们的方法与此类似: 我也发现了这个例子。也许对你有帮助

如何实现它?我正在使用struts2+spring+hibernate。

非常感谢您的回答:)

在构建
会话工厂时,数据库需要存在。每个用户创建一个数据库是一个非常奇怪的要求

您可以有一个数据库和多个用户帐户,并且可以使用角色和权限限制用户的访问


您可以使用Hibernate
ConnectionProvider
来控制数据库连接,但动态创建数据库需要访问操作系统外壳。

我们在系统中使用了多个数据源,但它们是在XML文件中硬编码的。据我记忆所及,我们的方法与此类似:

我也发现了这个例子。也许对你有帮助


您可以尝试hibernate会话工厂。我在applicationContext.xml中使用hibernate会话工厂,但数据源是用xml硬编码的,当然,我可以在xml文件中硬编码多个数据源。但是如何使用存储在数据库A中的连接字符串在内存中动态创建数据源?两个不同的会话工厂如何?每个用户都有一个数据库,这需要很多会话工厂吗(我想说,与每个用户拥有一个数据库相比,每个用户拥有一个SessionFactory的开销可以忽略不计。谢谢你的回答:)我只是举一个例子,每个用户拥有一个数据库。事实上,我们的应用程序将处理许多合作伙伴的项目数据。每个项目的数据都将存储在自己的数据库中。非常感谢!你的第一个链接对我很有帮助!但是,如果我动态创建数据源,是否可以同时使用两个连接池?在上面的链接中,没有提到连接池。我很高兴这个链接很有用。你的意思是同时使用动态数据源吗?是的,是的!许多用户将连接到同一个动态数据源,他们可以共享一个连接池吗?据我所知,每个数据源都创建自己的连接池。您可以在创建数据源期间对其进行配置。