gpt4 book ai didi

mysql - 在 JSP 中创建 MySQL 表

转载 作者:行者123 更新时间:2023-11-29 02:26:03 27 4
gpt4 key购买 nike

有没有办法在 JSP 中动态创建 MySQL 表?理想情况下,它会在论坛中使用,用户键入线程的名称,它会在数据库中创建一个具有该名称的表。

虽然我看不到它是否真的可行,但我暂时在考虑小问题,但我已经试过了,但它没有奏效,公平地说,我没想到它会奏效。

这是我试过的,

<sql:query var="dbData1">
CREATE TABLE test (id int NOT NULL)
</sql:query>

最佳答案

您需要定义一个dataSource,并且在query 语句中引用了它。

示例 1:

像这样定义数据源:

<sql:setDataSource var="dsn" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/my_database_name_here"
user="userName" password="pass_code_here"/>

并且,在查询构造函数中引用相同的 DSN,如下所示:

<sql:query dataSource="${dsn}" var="dbData1">
CREATE TABLE test (id int NOT NULL);
</sql:query>

这种在jsp中的dsn定义不建议使用。
在上面的示例中,您可以看到数据库访问凭据已公开。
您最好在服务器配置文件(例如 Tomcat 的 server.xml)中定义 DSN 并使用它。

示例 2:

如果您使用的是 Tomcat,则定义 data source in Server.xml ,像这样:

<Resource
name="jdbc/dsn_on_my_db"
auth="Container"
type="javax.sql.DataSource"
username="yourusername"
password="yourpassword"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/my_db_name_here"
maxActive="15"
maxIdle="7"
validationQuery="Select 1" />

然后在您的 jsp 页面中像这样引用 DSN:

<sql:setDataSource dataSource="jdbc/dsn_on_my_db" />

并且,使用您在帖子中定义的查询:

<sql:query var="dbData1">
CREATE TABLE test (id int NOT NULL);
</sql:query>

或者,

<sql:query var="dbData1"
dataSource="${applicationScope.dsn_on_my_db}">

关于mysql - 在 JSP 中创建 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21723451/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com