日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

java代码连接数据库

發(fā)布時(shí)間:2025/4/5 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java代码连接数据库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。