這篇文章主要介紹了mysql jdbc連接步驟及常見參數,需要的朋友可以參考下
mysql數據庫自不必說,現在很多程序開發應用及站長們常用到,jdbc可能一般會比較陌生一些,jdbc是什么意思?這里也會提到,最主要的是為大家介紹一下,mysql jdbc連接步驟及常見參數詳解。
jdbc是什么意思?
jdbc(java data base connectivity,java數據庫連接)是一種用于執行sql語句的javaapi,可以為多種關系數據庫提供統一訪問,它由一組用java語言編寫的類和接口組成。jdbc提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序,有了jdbc,向各種關系數據發送sql語句就是一件很容易的事,程序員只需用jdbcapi寫一個程序就可向相應數據庫發送sql調用。
jdbc如何連接mysql數據庫?
⑴、需要先加載注冊jdbc驅動程序:
class.forname("com.mysql.jdbc.driver");
class.forname("com.mysql.jdbc.driver").newinstance();
⑵、定義驅動程序與數據源之間的連接jdbcurl:
⑶、建立數據調用api連接對象,接著建立sql陳述式對象(statementobject),最后執行sql語句:
mysql jdbc連接常見參數及詳解:
JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序。
如果要使用數據庫就要添加數據庫的驅動,不同的數據庫有不用的驅動,這里就不一一說明,添加jar程序驅動包的方法就不在這里解釋,另一個文章里面有介紹
下面是一個實例去介紹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();
- }
- }
- }
新聞熱點
疑難解答