我用Java为一个学校项目创建了一个程序。我使用MySQL工作台创建了数据库和表,但是现在我需要我的程序在其他计算机上工作,因此我需要它来检查数据库和表是否存在,如果不是自己创建的话。
以下是我的驱动程序类中的相关代码:
private static Connection conn;
static
{
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException exc)
{
javax.swing.JOptionPane.showMessageDialog(null, "Oops! Something seems to have gone wrong!\n\n" + exc, "Error", JOptionPane.ERROR_MESSAGE);
}
}
public static Connection getMySQLConnection() throws SQLException
{
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/tournament_manager", "studentCouncil", "****");
return conn;
}
如前所述,如果数据库不存在,我想要创建的数据库称为"tournament_manager“。与数据库一起创建的表如下:
表1名称:密码
列1: passwordID类型: int(11)可空: NO
第2列:密码类型: varchar(20) Nullable: YES字符集: latin1
表2名称:锦标赛
列1: tournamentID类型: int(11)可空:无额外: auto_increment
列2: tournamentName类型: varchar(20)可空:无字符集: latin1
第3栏:日期类型:日期无效:否
第4列: startTime类型: int(11)可空: NO
第5列: matchDuration类型: int(11)可空: NO
第6列: breakDuration类型: int(11)可空: NO
第7列: numTeams类型: int(11)可空: NO
第8列: numVenues类型: int(11)可空: NO
表3名称: teams
列1: teamID类型: int(11)可空:无额外: auto_increment
列2: teamName类型: varchar(20)可空:无字符集: latin1
第3栏:点类型: int(11) Nullable: NO
第4列: tournaments_tournamentID类型: int(11)可空: NO
我是堆栈溢出的新手,所以我可能没有包括所有相关的信息或包含了无关的信息。如果我没有包括相关的细节,请问。
提前感谢您的支持!
发布于 2016-01-12 10:13:06
要创建表,应该使用"CREATE“SQL语法。这可以在数据库管理程序上完成,也可以在JDBC中完成。
stmt = conn.createStatement();
String sql = "CREATE TABLE password" +
"(passwordId INTEGER not NULL, " +
" password VARCHAR(20), " +
" PRIMARY KEY ( passwordId ))";
stmt.executeUpdate(sql);
发布于 2016-01-12 10:23:22
实际上,您可以使用Hibernate JPA来完成这个任务。
创建模型
@Entity
@Table(name = "USER")
public class User{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id
@Column(name="FIRST_NAME")
private String firstName
@Column(name="LAST_NAME")
private String lastName
}
定义hibernate自动创建
在applicationContext.xml (spring-servlet.xml或hibernate.cfg.xml)中添加以下内容:
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/DB"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value=""/>
// That property create tables and key options.
<property name="hbm2ddl.auto" value="create"/>
</properties>
启动服务器
当您启动服务器时,hibernate将创建您的表或更新您的列。
https://stackoverflow.com/questions/34740400
复制相似问题