数据源中的wildfly 12错误

nhjlsmyf  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(354)

我试图在wildfly12中创建一个简单的数据源,以便将mysql数据库连接到javaweb应用程序。
我尝试了两种选择:
修改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来查询数据库时,出现了如下异常:
找不到“表”user;sql语句:select*from user where username='myusername'”
我已经运行了一些测试,我可以注意到java连接到了数据库,但没有连接到特定的模式,我运行了一个类似“selectdatabase()fromdubal”的查询,结果是“test”。所以我猜url连接中的数据库名称param工作不正常。
我怎样才能解决这个问题?我在数据源中找不到任何其他参数来指定数据库名称。
谢谢你的时间。

uttx8gqw

uttx8gqw1#

在尝试了一些修改之后,我意识到我必须将下一个代码放在web.xml文件中:

<resource-ref>
    <res-ref-name>jdbc/MyDS/<res-ref-name>
    <jndi-name>jdbc:mysql://localhost:3306/MyDatabaseName</jndi-name>
</resource-ref>

这就解决了问题。

相关问题