簡體   English   中英

使用JDBC應用程序在MySQL中創建數據庫和表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM