[英]Creating a database and tables in MySQL using a JDBC application
我已經用Java為學校項目創建了一個程序。 我使用MySQL Workbench創建了數據庫和表,但是現在我需要我的程序在其他計算機上工作,因此我需要它檢查數據庫和表是否存在,如果不存在,則自行創建它們。
這是我的驅動程序類中的相關代碼:
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) 可為空:否
第2欄:密碼類型: varchar(20) 可空:是字符集: latin1
表2名稱:比賽
第1列:比賽ID 類型: int(11) 可空:無額外: auto_increment
第2欄:比賽名稱類型: varchar(20) 可空:否字符集: latin1
第3列:日期類型:日期可為空:否
第4列:startTime 類型: int(11) 可空:否
第5列:matchDuration 類型: int(11) 可為空:否
列6:breakDuration 類型: int(11) 可為空:否
第7欄:numTeams 類型: int(11) 可為空:否
第8列:numVenues 類型: int(11) 可為空:否
表3名稱:團隊
列1:teamID 類型: int(11) 可空:否額外: auto_increment
第2列:teamName 類型: varchar(20) 可空: NO 字符集: latin1
第3欄:點類型: int(11) 可為空:否
第4欄:tournaments_tournamentID 類型: int(11) 可為空:否
我是堆棧溢出的新手,因此我可能未包含所有相關信息或不相關信息。 如果我沒有提供相關詳細信息,請詢問。
預先感謝您的支持!
要創建表,應使用“ CREATE TABLE” SQL語法。 這可以在數據庫管理程序上完成,也可以在JDBC中完成。
stmt = conn.createStatement();
String sql = "CREATE TABLE password" +
"(passwordId INTEGER not NULL, " +
" password VARCHAR(20), " +
" PRIMARY KEY ( passwordId ))";
stmt.executeUpdate(sql);
實際上, 您可以使用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
}
定義休眠自動創建
在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>
啟動服務器
啟動服務器時,休眠將創建表或更新列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.