一、web項(xiàng)目怎么用java連接MYSQL數(shù)據(jù)庫(kù)
web用JDBC連接MYSQL數(shù)據(jù)庫(kù)。JDBC(Java DataBase Connectivity),即Java數(shù)據(jù)庫(kù)連接。簡(jiǎn)而言之,就是通過(guò)Java語(yǔ)言來(lái)操作數(shù)據(jù)庫(kù)。我們可以把JDBC理解成是官方定義的一套操作所有關(guān)系型數(shù)據(jù)庫(kù)的規(guī)則,規(guī)則即接口。
也就是說(shuō),官方定義了一套操作所有關(guān)系型數(shù)據(jù)庫(kù)的接口,然后讓各個(gè)數(shù)據(jù)廠商(Mysql、Oracle等)用實(shí)現(xiàn)類(lèi)去實(shí)現(xiàn)這套接口,再把這些實(shí)現(xiàn)類(lèi)打包(數(shù)據(jù)驅(qū)動(dòng)jar包),并提供數(shù)據(jù)驅(qū)動(dòng)jar包給我們使用。
我們可以使用這套JDBC接口進(jìn)行編程,但是真正執(zhí)行的代碼是驅(qū)動(dòng)jar包中的實(shí)現(xiàn)類(lèi)。
為什么?因?yàn)镴DBC是通過(guò)接口來(lái)調(diào)用方法的,當(dāng)你導(dǎo)入了驅(qū)動(dòng)jar包(實(shí)現(xiàn)類(lèi))后,那調(diào)用的方法肯定是實(shí)現(xiàn)類(lèi)里面的方法。
具體步驟:
1、導(dǎo)入驅(qū)動(dòng)jar包 2、注冊(cè)驅(qū)動(dòng) 3、獲取數(shù)據(jù)庫(kù)的連接對(duì)象 4、定義sql語(yǔ)句 5、獲取執(zhí)行sql語(yǔ)句的對(duì)象 6、執(zhí)行sql并接收返回結(jié)果 7、處理結(jié)果 8、釋放資源
實(shí)例:
package cn.tkr.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class JDBCDemo {
??? public static void main(String[] args) throws Exception {?? //下面方法有不同的異常,我直接拋出一個(gè)大的異常
??????? //1、導(dǎo)入驅(qū)動(dòng)jar包
??????? //2、注冊(cè)驅(qū)動(dòng)
??????? Class.forName(“com.mysql.jdbc.Driver”);
??????? //3、獲取數(shù)據(jù)庫(kù)的連接對(duì)象
??????? Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/sys”, “root”, “123456789”);
??????? //4、定義sql語(yǔ)句
??????? String sql = “update Student set score = 99 where id = ‘10003’ “;
??????? //5、獲取執(zhí)行sql語(yǔ)句的對(duì)象
??????? Statement stat = con.createStatement();
??????? //6、執(zhí)行sql并接收返回結(jié)果
??????? int count = stat.executeUpdate(sql);
??????? //7、處理結(jié)果
??????? System.out.println(count);
??????? //8、釋放資源
??????? stat.close();
??????? con.close();
??? }
}
延伸閱讀:
二、Druid簡(jiǎn)介
Druid是目前較好的數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn)技術(shù)。在功能、性能、擴(kuò)展性方面,都是非常強(qiáng)大的。Druid是一個(gè)JDBC組件,基于Filter-Chain模式的插件體系、DruidDataSource 高效可管理的數(shù)據(jù)庫(kù)連接池、SQLParser等。
Druid的功能:
Druid提供了一個(gè)高效、功能強(qiáng)大、可擴(kuò)展性好的數(shù)據(jù)庫(kù)連接池。
可以擴(kuò)展JDBC,如果你要對(duì)JDBC層有編程的需求,可以通過(guò)Druid提供的Filter機(jī)制,很方便編寫(xiě)JDBC層的擴(kuò)展插件。
還可以監(jiān)控?cái)?shù)據(jù)庫(kù)的訪問(wèn)性能,Druid內(nèi)置提供了一個(gè)功能強(qiáng)大的StatFilter插件,能夠詳細(xì)統(tǒng)計(jì)SQL的執(zhí)行性能。
SQL執(zhí)行日志,Druid提供了多種LogFilter,能夠支持CommonsLog、Log4j2、Log4j和SIf4jLog,你可以按需要選擇相應(yīng)的LogFilter,來(lái)監(jiān)控應(yīng)用的數(shù)據(jù)庫(kù)訪問(wèn)情況。