您好,歡迎來(lái)到賦能網(wǎng)!

java數(shù)據(jù)庫(kù)連接步驟是什么?為什么連接數(shù)據(jù)庫(kù)失???

賦能網(wǎng) 2023-05-09 55

數(shù)據(jù)庫(kù)是長(zhǎng)期保存在計(jì)算機(jī)的存儲(chǔ)設(shè)備上,按照一定規(guī)則組織起來(lái),可以被各種用戶或應(yīng)用共享的數(shù)據(jù)集合。那java鏈接數(shù)據(jù)庫(kù)要如何操作呢?下面來(lái)我們就來(lái)給大家講解一下。

1.加載驅(qū)動(dòng)

Class.forname(數(shù)據(jù)庫(kù)驅(qū)動(dòng)名);

2.建立數(shù)據(jù)庫(kù)連接

使用DriverManager類的getConnection()靜態(tài)方法來(lái)獲取數(shù)據(jù)庫(kù)連接對(duì)象,其語(yǔ)法格式如下所示:

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

其中url--數(shù)據(jù)庫(kù)連接字符串.

user---數(shù)據(jù)庫(kù)的用戶名

pass---數(shù)據(jù)庫(kù)密碼

3.創(chuàng)建Statement對(duì)象

對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作或訪問(wèn)時(shí),需要使用sql語(yǔ)句,在Java語(yǔ)言中,sql語(yǔ)句通過(guò)Statement對(duì)象進(jìn)行封裝,發(fā)送給數(shù)據(jù)庫(kù)。Statement對(duì)象不是通過(guò)Statement類直接創(chuàng)建的,而是通過(guò)Connection對(duì)象所提供的方法來(lái)創(chuàng)建各種Statement對(duì)象。

Statement smt=Connection.createStatement();

4.執(zhí)行sql語(yǔ)句

獲取Statement對(duì)象之后,就可以調(diào)用該對(duì)象的不同方法來(lái)執(zhí)行sql語(yǔ)句,所有Statement都有以下三種執(zhí)行sql語(yǔ)句的方法,具體哪一種方法由sql語(yǔ)句所產(chǎn)生的結(jié)果來(lái)決定。

如果sql語(yǔ)句運(yùn)行后能產(chǎn)生結(jié)果集,Statement對(duì)象則將結(jié)果集封裝成ResultSet查詢語(yǔ)句,并返回一個(gè)ResultSet結(jié)果集對(duì)象。

5.關(guān)閉數(shù)據(jù)庫(kù)

(1)關(guān)閉結(jié)果集

(2)關(guān)閉Statement對(duì)象

(3)關(guān)閉連接

連接mysql數(shù)據(jù)庫(kù)代碼如下:

package practice;
import java.sql.*;
import java.util.Collection;
public class test1
{
    public static void main(String args[])
    {
        String driver = "com.mysql.jdbc.Driver";
        String user = "root";
        String password = "數(shù)據(jù)庫(kù)密碼";
        String url = "jdbc:mysql://localhost:3306/typesql";
        try
        {
            //加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)
            Class.forName(driver);
            //連接數(shù)據(jù)庫(kù)
            Connection conn = DriverManager.getConnection(url, user, password);
            System.out.println("連接成功!");
            //創(chuàng)建Statement對(duì)象
            Statement stmt = conn.createStatement();
            //建立結(jié)果集
            ResultSet rs = stmt.executeQuery("SELECt id,username FROM userdetails");
            System.out.println("查詢成功!");
            while (rs.next())
            {
                System.out.println(rs.getString(1) + " " + rs.getString("username"));
            }
            //關(guān)閉結(jié)果集
            rs.close();
            //關(guān)閉Statement對(duì)象
            stmt.close();
            //關(guān)閉數(shù)據(jù)庫(kù)
            conn.close();
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (SQLException e)
        {
            e.printStackTrace();
        }
    }
}

為什么連接數(shù)據(jù)庫(kù)失敗?

連接mysql數(shù)據(jù)庫(kù)失敗原因分析:

1.數(shù)據(jù)庫(kù)的服務(wù)是否打開(kāi);

2.是否在新建了對(duì)應(yīng)的數(shù)據(jù)庫(kù);

3.是否添加了jar包;

4.是否加載了驅(qū)動(dòng);

5.連接字符串、登錄名以及密碼是否有誤。

因此我們?cè)阪溄訑?shù)據(jù)庫(kù)的時(shí)候,如果發(fā)現(xiàn)鏈接不上的情況,可以排查一下是否存在以上問(wèn)題,找到了鏈接失敗的原因就能夠?qū)ΠY下藥了。最后大家如果想要了解更多初識(shí)java知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“java數(shù)據(jù)庫(kù)連接步驟是什么?為什么連接數(shù)據(jù)庫(kù)失敗?”已幫助 55 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開(kāi)班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: