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進行操作了