Java調用Mysql

Java調用Mysql

連接步驟

  • 添加mysql官方的java接口jar包,在後面詳細介紹

  • 連接Database

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/javabook", "USERNAME", "PASSWORD");
  • 創建Database命令語句
Statement statement = connection.createStatement();
  • 執行命令語句
  statement.executeUpdate("create table Temp (col1 char(5), col2 char(5))");
  • 獲取請求query的結果集resultSet
  ResultSet resultSet = statement.executeQuery
    ("select firstName, mi, lastName from Student where lastName " + " = 'Smith'");

resultSet的默認位置是null,以下代碼打印所有數據信息

 while (resultSet.next())
      System.out.println(resultSet.getString(1) + " " + resultSet.getString(2) + " " + resultSet.getString(3)); 

也可以通過getString(“firstName”)獲得firstName的值

完整程序代碼如下:

public class DatabaseTest {
        public static void main(String[] argv)
            throws SQLException, ClassNotFoundException {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Driver loaded");

            Connection connection = DriverManager.getConnection(
                    "jdbc:mysql://localhost/Javadata", "user1", "12345"
            );
            System.out.println("connected");

            Statement statement = connection.createStatement();

            ResultSet resultSet = statement.executeQuery(
                    "select * from Test order by age desc"
            );

            while(resultSet.next())
            {
                System.out.println(resultSet.getString("name") + " " +  resultSet.getString("age"));

            }

            connection.close();
        }

    }

注意
每一個單獨語句會單獨提交到數據庫中,如果要分組進行提交的話,可以採用setAutoCommit(false)方法,並在一組statement語句的句末調用commit()方法提交整個組,而rollback()則撤銷該組的提交。
rollback()可用於讀取某個數據失敗而導致整項不該修改的數據的修改。

使用帶參數的SQL語句

不帶參數的SQL語句:

String queryString = "select firstName, mi, " +
         "lastName, title, grade from Student, Enrollment, Course " +
         "where Student.ssn = '" + _ssn_ + "' and Enrollment.courseId "
         + "= '" + _courseId_ +
         "' and Enrollment.courseId = Course.courseId " +
         " and Enrollment.ssn = Student.ssn";
         ResultSet rset = stmt.executeQuery(queryString)

調用connection.prepareStatement(),採用帶參數的SQL語句(使用?作爲參數):

preparedStatement = connection.prepareStatement(queryString);
    String queryString = "select firstName, mi, " +
         "lastName, title, grade from Student, Enrollment, Course " +
         "where Student.ssn = ? and Enrollment.courseId = ? " +
         "and Enrollment.courseId = Course.courseId";
    preparedStatement.setString(1, ssn);
    preparedStatement.setString(2, courseId);
    ResultSet rset = preparedStatement.executeQuery();

IntelliJ中導入jar包

我使用的是Android Studio,但AS基於IJ開發,所以大同小異,步驟如下:

在Mysql官網下載mysql-connector-java-5.1.43.tar.gz
導入IntelliJ IDE中:
1. 點擊 File -> Project Structure(快捷鍵 Ctrl + Alt + Shift + s),點擊Project Structure界面左側的modules。(在這裏我的module是my_test)
2. 在 “Dependencies” 標籤界面下,點擊右邊綠色的 “+”號,選擇第一個選項“Jar dependency”,選擇相應的jar包,點“OK”,jar包添加成功。
這裏寫圖片描述
3. 假設包中有mysql.jdbc.Driver類,則在該module下,使用com.mysql.jdbc.Driver即可使用該類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章