Connecting to a MySQL Database in NetBeans IDE
        Contributed and maintained by
          
.
        
        This document demonstrates how to configure MySQL on your system
            and set up a connection to the database from NetBeans IDE.
            Once connected, you can begin working with MySQL in the IDE's
            Database explorer by creating new tables, populating tables with
            data, and running SQL queries on database structures and content.
            This tutorial is designed for beginners with a basic understanding
            of database management and application development, who want to
            apply their knowledge in working with MySQL in NetBeans IDE.
        MySQL is a popular Open Source
            database management system commonly used in web applications due to
            its speed, flexibility and reliability. MySQL employs SQL, or
            Structured Query Language, for accessing and processing
            data contained in databases.
        
        Expected duration: 25 minutes
        
        The following topics are covered below:
        
        
        Getting the Software
        Before you begin, make sure you have the following software installed
            on your computer:
        
            - NetBeans IDE 5.5 (download)
- Java SE Development Kit (JDK™) version 5.0 or higher
                (download)
- MySQL database
            (download)
- JDBC Driver for MySQL (download)
Note: As an alternative to downloading the IDE and JDK separately, consider
            downloading the Java SE
            Development Kit 6u1 with NetBeans IDE 5.5 Bundle.
        
        Installing and Configuring the Database
        If you already have the MySQL database set up and running on your
            machine, please skip ahead to Registering
            the Database in NetBeans IDE. By way of example, this tutorial
            demonstrates how to run the MySQL Community Server on Windows XP.
            To get the MySQL server running:
        
            - Run the self-extracting file. The MySQL Setup Wizard opens to guide you
                through the installation process. Accept all default settings.
- Upon completing installation, allow the MySQL wizard to
                immediately configure the server by making sure the Configure
                the MySQL Server Now checkbox is selected. This will allow an
                instance of the server to be created, which will run as a Windows
                service on your machine.
- In the MySQL Server Instance Configuration wizard, select Standard
                Configuration. Click Next. When you arrive at the step allowing you
                to set Windows options, select the Include Bin Directory in Windows
                PATH checkbox. This will later allow you to perform a simple check to
                make sure the MySQL service is up and running:
                 
 
 
- Set the root password to: nbuser. Finally, click Execute to
                allow the wizard to generate the server instance on your computer. If
                you encounter any problems, refer to the MySQL Reference Manual included
                in your installation or the
                online
                documentation.
            
Before continuing further, it is important to understand the components found in
            MySQL's root directory:
        
            - The bin subdirectory contains the scripts for
                executing utilities and setting up the environment.
- The data subdirectory contains all database
                instances, including their data.
- The Docs subdirectory contains the MySQL Reference Manual.
- The share subdirectory contains localization
                files, including character sets and language packages.
- The my.ini file is the configuration file that was
                generated by the Configuration wizard, and contains information such as the
                port being listened on, path to installation directory, path to database root,
                and default character set.
Creating a Database Instance
        Now that the MySQL database server is installed and configured, you can create a
            database instance which you will later connect to in NetBeans IDE. You need to
            have a database instance already created in order to connect to the MySQL database
            server in NetBeans IDE. To create a new database instance:
        
            - Open up the MySQL Command Line Client from your Start > All Programs >
                MySQL menu. The Command Line client displays prompting you to enter your
                root password.
- Enter the password specified above (nbuser), and a brief
                welcome message displays, introducing you to the MySQL monitor.
- Type create database MyNewDatabase; at the prompt. You should receive
                a Query OK message, indicating that the new database has been created.
- To verify that MyNewDatabase has indeed been created, type
                show databases; at the prompt. A list is displayed, showing all
                databases maintained by the server. Note that MyNewDatabase is listed:
                
 
 
Registering the Database in NetBeans IDE
        Now that you have the database server installed and configured, and have created a new database,
            you can register the MySQL server in NetBeans IDE. Begin by examining the functionality offered
            by the Database explorer located in the IDE's Runtime window (Ctrl+5).
            The Database explorer is represented by the Databases node
            ().
            From this interface you can connect to databases, view current
            connections, add database drivers, as well as create, browse or edit database
            structures.
        You can use the Database explorer to register MySQL in the IDE.
            There are two simple steps that need to be performed:
        
            - Adding the Driver to the IDE
- Creating a Database Connection
            Adding the Driver to the IDE
            In order to allow NetBeans IDE to communicate with a database, you need
                to employ a Java-based driver. Generally speaking, drivers
                in NetBeans IDE use the JDBC (Java Database Connectivity) API
                to communicate with databases supporting SQL. The
                JDBC API
                is contained in the java.sql Java package.
                A driver therefore serves as an interface that converts JDBC calls
                directly or indirectly into a specific database protocol.
            In this tutorial, you are using the
                MySQL Connector/J
                driver, which is a pure Java implementation of the JDBC API, and
                communicates directly with the MySQL server using the MySQL protocol.
                To add the driver to the IDE:
            
                - If you have just downloaded the driver, first extract it to a
                    location on your computer. Set the root
                    directory to: C:\mysql-connector-java-5.0.5.
- In the IDE, in the Database explorer from the Runtime window (Ctrl+5)
                    expand the Databases node and right-click the Drivers node. Choose
                    New Driver. The New JDBC Driver dialog opens.
- Click the Add button in the top right corner. Navigate to the driver's
                    root directory and select the driver's jar file (e.g.
                    mysql-connector-java-5.0.5-bin.jar). Click Open.
                    The New JDBC Driver dialog should look like this:
                    
 
 
- Click OK. In the Runtime window expand the Databases > Drivers nodes
                    and note that a new MySQL driver node is displayed:
                    
 
 
Note: While you just made the database driver available to the
                IDE, you have not yet made it available to any specific application. At this
                stage, you can use the IDE to access and modify the database, but cannot
                do so from an application yet. This is covered in the follow-up tutorial
                Creating a Simple Web Application in NetBeans IDE
                using MySQL.
            Creating a Database Connection
            You can now set up a connection to the database through the appropriate
                driver. Make sure your database service is running prior to continuing.
                You can do so by performing the following simple test:
            
                - Open a Windows command shell (from the Start menu, choose Run and type cmd
                    in the text field). A command line window displays.
- At the prompt, type sc query MySQL and press Enter. The Windows sc
                    command allows you to query the state of services. The output should indicate that
                    the current state of the MySQL service is RUNNING:
                    
 
 
 
 If the service is STOPPED, you can start it by either typing sc start MySQL at
                    the command line prompt, or using the Windows Services GUI (Start > Control Panel >
                    Administrative Tools > Services).
Now, in NetBeans IDE, create a connection to MyNewDatabase:
            
                - In the Runtime window (Ctrl+5) choose Connect Using from the right-click
                    menu of the driver you just added. The New Database Connection dialog opens.
- In the Basic Setting tab, enter the Database's URL in the corresponding text
                    field. The URL is used to identify the type and location of a database server.
                    In this example, you need to specify the host name (i.e. the location of the
                    server), the port number on which the database communicates, and the name of
                    the database instance being used. In this case you can enter:
                    jdbc:mysql://localhost:3306/MyNewDatabase.
- For User Name and Password, enter root, and
                    nbuser respectively:
                    
 
 
- Click OK, then click OK again to exit the dialog. A new Connection node displays
                    in the Runtime window's Database explorer under the Databases node:
                    
 
 
You are now connected to MyNewDatabase in the IDE. Note that the new connection
                node icon appears whole () when you are connected to a database. Likewise, it appears
                broken () when there is no connection.
            At later stages, when working with databases through the Database explorer, you may need to
                manually connect to a database. You can do so by right-clicking the broken database
                connection node and choosing Connect.
         
        
        Creating Database Tables
        Now that you have connected to the database, you can begin exploring how
            to create tables, populate them with data, and modify data maintained
            in tables. This allows you to take a closer look at the functionality
            offered by the Database explorer, as well as NetBeans IDE's support for
            SQL files. As an example, you can prepare the database for
            use in the web application developed in the follow-up tutorial
            Creating a Simple Web Application in NetBeans
            IDE using MySQL.
        The MyNewDatabase database that you are using is currently empty. In
            NetBeans IDE it is possible to add a database table by either using the Create
            Table dialog, or by inputting an SQL query and running it directly from the SQL
            editor. Here you can explore both methods:
        
            - Using the Create Table Dialog
- Using the SQL Editor
            Using the Create Table Dialog
            
                - In the Database explorer, expand the MyNewDatabase
                    connection node () and note that there are three subfolders: Tables,
                    Views and Procedures. Right-click the Tables node and choose Create Table.
                    The Create Table dialog opens.
- In the Table Name text field, type Subject.
- In the first row displayed, select the Key check box. You are
                    specifying the primary key for your table. All tables found in
                    relational databases must contain a primary key. Note that when
                    you select the Key check box, the Index and Unique check boxes
                    are also automatically selected and the Null check box is deselected.
                    This is because primary keys are used to identify a unique row in
                    the database, and by default form the table index. Because all rows
                    need to be identified, primary keys cannot contain a Null value.
- For Column Name, enter id. For Data Type, select SMALLINT
                    from the drop-down list. Then click the Add Column button.
- Repeat this procedure by specifying all remaining fields, as shown
                    in the table below:
                    
 
 
                        
                            | Key | Index | Null | Unique | Column name | Data type | Size |  
                            | [checked] | [checked] |  | [checked] | id | SMALLINT | 0 |  
                            |  |  | [checked] |  | name | VARCHAR | 50 |  
                            |  |  | [checked] |  | description | VARCHAR | 500 |  
                            |  |  | [checked] |  | counselor_idfk | SMALLINT | 0 |  
 
- You are creating a table named Subject
                    that will hold the following data for each record:
                    
 
 
                        - Name
- Description
- Counselor ID
 
 When you are sure that your Create Table dialog contains the same specifications
                    as those shown above, click OK. The IDE generates the Subject
                    table in the database, and you see a new Subject table node
                    ()
                    display under Tables in the Database explorer. Beneath the table node
                    there are the columns (fields) you created, starting with the primary key (
                    ):
 
 
 
 
Using the SQL Editor
            
                - In the Database explorer, right-click the Tables node beneath the
                    MyNewDatabase connection node and choose Execute Command.
                    A blank canvas opens in the SQL Editor in the main window.
- In the SQL Editor, type in the following query. This is a
                    table definition for the Counselor table you are
                    about to create:
                    
CREATE TABLE Counselor (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    first_name VARCHAR (50),
    nick_name VARCHAR (50),
    last_name VARCHAR (50),
    telephone VARCHAR (25),
    email VARCHAR (50),
    member_since DATE DEFAULT '0000-00-00',
    PRIMARY KEY (id)
);
                    Note: Queries formed in the SQL Editor are parsed in
                    Structured Query Language (SQL). SQL adheres to strict syntax rules which you
                    should be familiar with when working in the IDE's Editor. Upon running
                    a query, feedback from the SQL engine is generated in the Output window
                    indicating whether execution was successful or not.
 
 
- Click the Run SQL () button in the task
                    bar at the top (or, press Ctrl+Shift+E to execute the query).
                    You should receive the following message in the Output window:
                    
 
 
 
 
- To verify changes, right-click the Tables
                    node in the Database explorer and choose Refresh. The Refresh option
                    updates the Database explorer's UI component to the current status of
                    the specified database. This step is necessary when running
                    queries from the SQL Editor in NetBeans IDE. Note that the new
                    Counselor table node
                    () now displays under Tables in the Database
                    explorer.
                
 
        
        Working with Table Data
        In order to work with table data, you can make use of the SQL Editor
            in NetBeans IDE. By running SQL queries on a database, you can add,
            modify and delete data maintained in database structures. To add a
            new record (row) to the Counselor table, do the following:
        
            - Choose Execute Command from the Counselor
                table node in the Database explorer. A blank canvas opens in the SQL
                Editor in the main window.
- In the SQL Editor, type in the following query:
                
INSERT INTO Counselor
    VALUES (1, 'Ricky', '"The Dragon"', 'Steamboat','334 612-5678', '....', '01-01')
- Click the Run SQL () button in
                the task bar at the top, or press Ctrl+Shift+E to execute the query.
                You should receive a message in the Output window indicating that the query was
                executed successfully.
- To verify that the new record has been added to the Counselor table,
                in the Database explorer, right-click the Counselor table node and choose
                View Data. A new SQL Editor pane opens in the main window. When you choose View Data,
                a query to select all the data from the table is automatically generated in the upper
                region of the SQL Editor. The results of the statement are displayed in a table view
                in the lower region. In this example, the Counselor table displays. Note that
                a new row has been added with the data you just supplied from the SQL query:
                
 
 
 
 
Running an SQL Script
        Another way to manage table data in NetBeans IDE is by running an external SQL
            script directly in the IDE. If you have created an SQL script elsewhere, you
            can simply open it in NetBeans IDE and run it in the SQL Editor.
        For demonstrative purposes, download
            ifpwafcad.sql
            and save it to a location on your computer. This script creates two tables similar to
            what you just created above (Counselor and Subject), and
            immediately populates them with data. To run this script on MyNewDatabase:
        
            - Choose File > Open File (Ctrl+O) from the IDE's main menu. In the file
                browser navigate to the location where you previously saved
                ifpwafcad.sql and click Open. The script
                automatically opens in the SQL Editor.
- Make sure your connection to MyNewDatabase is selected from
                the Connection drop-down box in the tool bar at the top of the Editor:
                
 
 
 
 
- Click the Run SQL () button in the SQL Editor's task bar. The script is
                executed against the selected database, and any feedback is generated in
                the Output window.
- To verify changes, right-click the MyNewDatabase connection node
                in the Runtime window and choose Refresh. The Refresh option updates the Database
                explorer's UI component to the current status of the specified database. Note that
                the two new tables from the SQL script now display as a table nodes under
                MyNewDatabase in the Database explorer.
- To view the data contained in the new tables, choose View Data from the
                right-click menu of a selected table node. In this manner, you can compare the
                tabular data with the data contained in the SQL script to see that they match.
Next Steps
        This concludes the Connecting to a MySQL Database in NetBeans IDE tutorial. This
            document demonstrated how to quickly configure MySQL on your system and
            set up a connection to the database from NetBeans IDE. It also described how
            to work with MySQL in the IDE's Database explorer by creating new tables, populating
            tables with data, and running SQL queries.
        For related and more advanced tutorials, see the following resources:
        
        
        top