我正在使用servlet和mysql的应用程序.我想创建一个能够创建应用程序将使用的数据库的.jar文件.这只会执行一次,以便创建数据库.我在访问数据库方面没有问题,做这样的事情:Class.forName(com.mysql.jdbc.Driver)....
我正在使用servlet和mysql的应用程序.
我想创建一个能够创建应用程序将使用的数据库的.jar文件.这只会执行一次,以便创建数据库.
我在访问数据库方面没有问题,做这样的事情:
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conexion = (Connection)DriverManager.getConnection("jdbc:mysql://localhost/test","admin","admin");
if (!conexion.isClosed())
{
Statement st = (Statement) conexion.createStatement();
ResultSet rs = st.executeQuery("select * from table_name" );
}
conexion.close();
这没关系,但我需要做的是从java类创建一个新的数据库(及其表),这可能吗?
谢谢
我正在尝试这个:
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conexion = (Connection)DriverManager.getConnection("jdbc:mysql://localhost/mysql","admin","admin");
Statement st = (Statement) conexion.createStatement();
st.executeUpdate("CREATE DATABASE hrapp");
但我收到以下错误:
线程“main”中的异常com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:用户’admin’@’localhost’拒绝访问数据库’hrapp’
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
在com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
在com.mysql.jdbc.Util.getInstance(Util.java:381)
在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
在com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
在com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
在com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
在com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564)
在com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1485)
在BaseDatosSetup.BaseDatosSetup.main(BaseDatosSetup.java:18)
我通过向用户授予创建操作来解决它.我不知道为什么,我是以管理员身份做的.
解决方法:
W3CSchools.com – SQL CREATE DATABASE Statement.你不会使用executeQuery.而是使用executeUpdate.
Here就是一个简单的例子.
正如其他用户所提到的,您可能不希望从代码中创建数据库.这不是一个好习惯.
本文标题为:使用java类创建数据库
- Java超详细精讲数据结构之bfs与双端队列 2023-03-15
- 解决mybatis分页插件PageHelper导致自定义拦截器失效 2023-04-17
- Spring注解驱动之ApplicationListener异步处理事件说明 2023-06-06
- java中的DateTime的具体使用 2022-11-05
- SpringBoot多环境开发该如何配置 2023-05-14
- Java 不同版本的 Switch语句 2022-12-16
- java数据结构算法稀疏数组示例详解 2022-11-29
- 如何使用java驱动程序将文档与mongodb中的现有数组元素进行匹配 2023-10-31
- Java实现解析zip压缩包并获取文件内容 2023-03-15
- JSP数据分页导出下载显示进度条样式 2023-08-02