java代码连接数据库
jdbc的知識(shí)點(diǎn):
JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,
可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫的類和接口組成。
JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開發(fā)人員能夠編寫數(shù)據(jù)庫(kù)應(yīng)用程序,
同時(shí),JDBC也是個(gè)商標(biāo)名。
一、JDBC的實(shí)現(xiàn)步驟:
1、加載驅(qū)動(dòng)程序
? Class.forName(DriverClass);
2、使用驅(qū)動(dòng)管理類,獲得數(shù)據(jù)庫(kù)連接
? Connection conn = DriverManager.getConnection(URL,USER,PASSWORD);
? URL格式: jdbc:數(shù)據(jù)庫(kù)類型://IP地址:端口號(hào)/數(shù)據(jù)庫(kù)名
? 示例 URL= "jdbc:mysql://127.0.0.1:3306/student"
3、使用數(shù)據(jù)庫(kù)連接創(chuàng)建聲明
? ?Statement stmt = conn.createStatement();
4、使用聲明執(zhí)行SQL語(yǔ)句
? ?ResultSet rs = stmt.executeQuery("sql");
5、遍歷集合,讀取數(shù)據(jù)
? boolean b = rs.next();
? rs.getString();
二、采用MVC三層架構(gòu)
View 視圖層
Control 控制層
Model 模型層
DB 數(shù)據(jù)庫(kù)
MVC:
MVC開始是存在于桌面程序中的,M是指業(yè)務(wù)模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,
從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)可以分別用柱狀圖、餅圖來(lái)表示。C存在的目的則是確保M和V的同步,
一旦M改變,V應(yīng)該同步更新。
模型-視圖-控制器(MVC)是Xerox PARC在二十世紀(jì)八十年代為編程語(yǔ)言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,
已被廣泛使用。后來(lái)被推薦為Oracle旗下Sun公司Java EE平臺(tái)的設(shè)計(jì)模式,并且受到越來(lái)越多的使用ColdFusion和PHP的開發(fā)者的歡迎。
模型-視圖-控制器模式是一個(gè)有用的工具箱,它有很多好處,但也有一些缺點(diǎn)。
MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設(shè)計(jì)創(chuàng)建 Web 應(yīng)用程序的模式:
- Model(模型)表示應(yīng)用程序核心(比如數(shù)據(jù)庫(kù)記錄列表)。
- View(視圖)顯示數(shù)據(jù)(數(shù)據(jù)庫(kù)記錄)。
- Controller(控制器)處理輸入(寫入數(shù)據(jù)庫(kù)記錄)。
MVC 模式同時(shí)提供了對(duì) HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分。
通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫(kù)中存取數(shù)據(jù)。
View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。
通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。
Controller(控制器)是應(yīng)用程序中處理用戶交互的部分。
通常控制器負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。
MVC 分層有助于管理復(fù)雜的應(yīng)用程序,因?yàn)槟梢栽谝粋€(gè)時(shí)間內(nèi)專門關(guān)注一個(gè)方面。例如,您可以在不依賴業(yè)務(wù)邏輯的情況下專注于視圖設(shè)計(jì)。同時(shí)也讓應(yīng)用程序的測(cè)試更加容易。
MVC 分層同時(shí)也簡(jiǎn)化了分組開發(fā)。不同的開發(fā)人員可同時(shí)開發(fā)視圖、控制器邏輯和業(yè)務(wù)邏輯。
簡(jiǎn)單地說(shuō),JDBC 可做三件事:與數(shù)據(jù)庫(kù)建立連接、發(fā)送 操作數(shù)據(jù)庫(kù)的語(yǔ)句并處理結(jié)果
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.動(dòng)態(tài)加載驅(qū)動(dòng)
Class.forName("com.mysql.jdbc.Driver");
//2.打開數(shù)據(jù)庫(kù)連接
String url = "jdbc:mysql://127.0.0.1:3306/student";//連接數(shù)據(jù)庫(kù)的地址
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
//3.創(chuàng)建聲明
Statement stmt = conn.createStatement();
//4.通過(guò)聲明執(zhí)行SQL語(yǔ)句
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.動(dòng)態(tài)加載驅(qū)動(dòng)
Class.forName("com.mysql.jdbc.Driver");
//2.打開數(shù)據(jù)庫(kù)連接
String url = "jdbc:mysql://127.0.0.1:3306/student";//連接數(shù)據(jù)庫(kù)的地址
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
//3.創(chuàng)建聲明
Statement stmt = conn.createStatement();
//4.通過(guò)聲明執(zhí)行SQL語(yǔ)句
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));//把每次獲得的對(duì)象存入集合
}
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 + "]";
}
}
注意:在使用前當(dāng)然要導(dǎo)入一個(gè)sql的jar包,方可使用。
以上的java代碼編寫后,再后來(lái)可以對(duì)sql進(jìn)行操作了
總結(jié)
以上是生活随笔為你收集整理的java代码连接数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 福建茶下山桩怎么养护
- 下一篇: sql数据库的四大程序设计语言的语句