1. 程式人生 > >java程式碼連線資料庫

java程式碼連線資料庫

jdbc的知識點:

JDBC(Java DataBase Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API,

可以為多種關係資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。

JDBC提供了一種基準,據此可以構建更高階的工具和介面,使資料庫開發人員能夠編寫資料庫應用程式,

同時,JDBC也是個商標名。

一、JDBC的實現步驟:


1、載入驅動程式

  Class.forName(DriverClass);


2、使用驅動管理類,獲得資料庫連線


  Connection conn = DriverManager.getConnection(URL,USER,PASSWORD);


  URL格式: jdbc:資料庫型別://IP地址:埠號/資料庫名


  示例 URL= "jdbc:mysql://127.0.0.1:3306/student"


3、使用資料庫連線建立宣告


   Statement stmt = conn.createStatement();


4、使用宣告執行SQL語句


   ResultSet rs = stmt.executeQuery("sql");


5、遍歷集合,讀取資料


  boolean b = rs.next();


  rs.getString();




二、採用MVC三層架構


View 檢視層


Control 控制層


Model 模型層


DB 資料庫

MVC:

MVC開始是存在於桌面程式中的,M是指業務模型,V是指使用者介面,C則是控制器,使用MVC的目的是將M和V的實現程式碼分離,

從而使同一個程式可以使用不同的表現形式。比如一批統計資料可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,

一旦M改變,V應該同步更新。

模型-檢視-控制器(MVC)是Xerox PARC在二十世紀八十年代為程式語言Smalltalk-80發明的一種軟體設計模式,

已被廣泛使用。後來被推薦為Oracle旗下Sun公司Java EE平臺的設計模式,並且受到越來越多的使用ColdFusion和PHP的開發者的歡迎。

模型-檢視-控制器模式是一個有用的

工具箱,它有很多好處,但也有一些缺點。

MVC 是一種使用 MVC(Model View Controller 模型-檢視-控制器)設計建立 Web 應用程式的模式:

  • Model(模型)表示應用程式核心(比如資料庫記錄列表)。
  • View(檢視)顯示資料(資料庫記錄)。
  • Controller(控制器)處理輸入(寫入資料庫記錄)。

MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的完全控制。

Model(模型)是應用程式中用於處理應用程式資料邏輯的部分。

通常模型物件負責在資料庫中存取資料。

View(檢視)是應用程式中處理資料顯示的部分。

通常檢視是依據模型資料建立的。

Controller(控制器)是應用程式中處理使用者互動的部分。

通常控制器負責從檢視讀取資料,控制使用者輸入,並向模型傳送資料。

MVC 分層有助於管理複雜的應用程式,因為您可以在一個時間內專門關注一個方面。例如,您可以在不依賴業務邏輯的情況下專注於檢視設計。同時也讓應用程式的測試更加容易。

MVC 分層同時也簡化了分組開發。不同的開發人員可同時開發檢視、控制器邏輯和業務邏輯。

簡單地說,JDBC 可做三件事:與資料庫建立連線、傳送 操作資料庫的語句並處理結果


java部分:

InsertDemo類:

package sql;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;




public class InsertDemo {


public static void main(String[] args) throws ClassNotFoundException, SQLException {

//1.動態載入驅動
Class.forName("com.mysql.jdbc.Driver");

//2.開啟資料庫連線
String url = "jdbc:mysql://127.0.0.1:3306/student";//連線資料庫的地址
String user = "root";
String password = "root";

Connection conn = DriverManager.getConnection(url, user, password);


//3.建立宣告
Statement stmt = conn.createStatement();

//4.通過宣告執行SQL語句
String sql = "delete from stu where age>20";
boolean b = stmt.execute(sql);
System.out.println(!b);//新增成功返回false


}

}

SelectDemo類:

package sql;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;


public class SelectDemo {


public static void main(String[] args) throws ClassNotFoundException, SQLException {

//1.動態載入驅動
Class.forName("com.mysql.jdbc.Driver");

//2.開啟資料庫連線
String url = "jdbc:mysql://127.0.0.1:3306/student";//連線資料庫的地址
String user = "root";
String password = "root";

Connection conn = DriverManager.getConnection(url, user, password);


//3.建立宣告
Statement stmt = conn.createStatement();

//4.通過宣告執行SQL語句
String sql = "select * from stu";
 
ResultSet rs = stmt.executeQuery(sql);

/**
* 查詢
*/
List<Stu> list = new ArrayList<Stu>();

while(rs.next()){

String name = rs.getString("name");
int age = rs.getInt("age");
String sex = rs.getString("sex");

list.add(new Stu(name,age,sex));//把每次獲得的物件存入集合

}

System.out.println(list);

}

}

Stu類:

package sql;


public class Stu {


private String name;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Stu(String name, int age, String sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
}
public Stu() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Stu [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}


}

注意:在使用前當然要匯入一個sql的jar包,方可使用。


以上的java程式碼編寫後,再後來可以對sql進行操作了