【发布时间】:2018-10-30 14:31:12
【问题描述】:
我正在尝试在 Wildfly 12 中创建一个简单的数据源,以便将 mysql 数据库连接到 Java WEB 应用程序。
我尝试了 2 个选项:
-
修改standalone-full.xml 以像这样添加数据源:
<datasource jndi-name="java:jboss/datasources/MyDS" pool-name="MyDS" enabled="true" use-java-context="true"> <connection-url>jdbc:mysql://localhost:3306/MyDatabaseName</connection-url> <driver>mysql</driver> <pool> <min-pool-size>2</min-pool-size> <max-pool-size>5</max-pool-size> </pool> <security> <user-name>myuser</user-name> <password>mypassword</password> </security> </datasource> <drivers> <driver name="mysql" module="com.mysql"> <driver-class>com.mysql.jdbc.Driver</driver-class> </driver> </drivers>- 使用管理控制台添加数据源
我正在使用数据源创建连接,没有问题:
Context initCtx = new InitialContext(), envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/MyDS");
this.connection = ds.getConnection();
Java 连接正常工作,但是当我创建一个 servlet 来查询我的数据库时,我遇到了这样的异常:
“未找到表“用户”;SQL 语句:Select * from user where username = 'myusername'”
我已经运行了一些测试,我注意到 Java 连接到数据库但没有连接到特定架构,我运行类似“SELECT DATABASE() FROM DUAL”的查询,结果是“TEST”。所以我猜是URL连接中的数据库名称参数不能正常工作。
我该如何解决这个问题?我没有找到任何额外的参数来指定数据源中的数据库名称。
感谢您的宝贵时间。
【问题讨论】:
标签: java mysql wildfly datasource