Java 通過JDBC連接Mysql數據庫的方法和實例


JDBC(Java Data Base Connectivity,java數據庫連接)是一種用於執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基准,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序

如果要使用數據庫就要添加數據庫的驅動,不同的數據庫有不用的驅動,這里就不一一說明,添加jar程序驅動包的方法就不在這里解釋,

另一個文章里面有介紹http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812295.html

下面是一個實例去介紹mysql數據庫的連接,其它數據庫的方法也是差不多的。

/**
  * @author :陶偉基 ,微博:http://weibo.com/taoandtao
  * @date :2012/12/11
  * @place:廣州大學華軟軟件學院
  */
import  java.sql.DriverManager;
import  java.sql.ResultSet;
import  java.sql.SQLException;
import  java.sql.Connection;
import  java.sql.Statement;
 
 
public  class  MysqlDemo {
     public  static  void  main(String[] args) throws  Exception {
         Connection conn = null ;
         String sql;
         // MySQL的JDBC URL編寫方式:jdbc:mysql://主機名稱:連接端口/數據庫的名稱?參數=值
         // 避免中文亂碼要指定useUnicode和characterEncoding
         // 執行數據庫操作之前要在數據庫管理系統上創建一個數據庫,名字自己定,
         // 下面語句之前就要先創建javademo數據庫
         String url = "jdbc:mysql://localhost:3306/javademo?"
                 + "user=root&password=root&useUnicode=true&characterEncoding=UTF8" ;
 
         try  {
             // 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來,
             // 可以通過Class.forName把它加載進去,也可以通過初始化來驅動起來,下面三種形式都可以
             Class.forName( "com.mysql.jdbc.Driver" ); // 動態加載mysql驅動
             // or:
             // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
             // or:
             // new com.mysql.jdbc.Driver();
 
             System.out.println( "成功加載MySQL驅動程序" );
             // 一個Connection代表一個數據庫連接
             conn = DriverManager.getConnection(url);
             // Statement里面帶有很多方法,比如executeUpdate可以實現插入,更新和刪除等
             Statement stmt = conn.createStatement();
             sql = "create table student(NO char(20),name varchar(20),primary key(NO))" ;
             int  result = stmt.executeUpdate(sql); // executeUpdate語句會返回一個受影響的行數,如果返回-1就沒有成功
             if  (result != - 1 ) {
                 System.out.println( "創建數據表成功" );
                 sql = "insert into student(NO,name) values('2012001','陶偉基')" ;
                 result = stmt.executeUpdate(sql);
                 sql = "insert into student(NO,name) values('2012002','周小俊')" ;
                 result = stmt.executeUpdate(sql);
                 sql = "select * from student" ;
                 ResultSet rs = stmt.executeQuery(sql); // executeQuery會返回結果的集合,否則返回空值
                 System.out.println( "學號\t姓名" );
                 while  (rs.next()) {
                     System.out
                             .println(rs.getString( 1 ) + "\t"  + rs.getString( 2 )); // 入如果返回的是int類型可以用getInt()
                 }
             }
         } catch  (SQLException e) {
             System.out.println( "MySQL操作錯誤" );
             e.printStackTrace();
         } catch  (Exception e) {
             e.printStackTrace();
         } finally  {
             conn.close();
         }
 
     }
 
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM