我是 Java 新手,我想在 .NET 中做一些类似于 EF 的事情。 那么,有没有办法在每次有人在新电脑上运行应用程序而无需密码或用户名时自动在 MySql 本地数据库中创建数据库?
我尝试这样做
Connection Conn = DriverManager.getConnection
("jdbc:mysql://localhost/?user=root&password=rootpassword");
Statement s=Conn.createStatement();
int Result=s.executeUpdate("CREATE DATABASE databasename");
最佳答案
您可以查看 Database Schema Creation ,它是 Java Persistence API
的一部分,它使您能够运行一组 SQL
使用javax.persistence.schema-generation.*
启动应用程序时的文件属性,并将您的应用程序连接到默认的 datasource
如果您没有提供。但主要建议在开发和测试阶段使用
通常,您必须创建一个 persistence.xml
部署描述符如下所示
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="examplePU" transaction-type="JTA">
<properties>
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
<property name="javax.persistence.schema-generation.create-source" value="script"/>
<property name="javax.persistence.schema-generation.drop-source" value="script"/>
<property name="javax.persistence.schema-generation.create-script-source" value="sql/create.sql"/>
<property name="javax.persistence.schema-generation.drop-script-source" value="sql/drop.sql"/>
<property name="javax.persistence.sql-load-script-source" value="sql/load.sql"/>
</properties>
</persistence-unit>
关于Java自动创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43617784/