溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java如何連接數(shù)據(jù)庫(kù)

發(fā)布時(shí)間:2022-02-21 16:39:04 來(lái)源:億速云 閱讀:82 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“java如何連接數(shù)據(jù)庫(kù)”,在日常操作中,相信很多人在java如何連接數(shù)據(jù)庫(kù)問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”java如何連接數(shù)據(jù)庫(kù)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

閱前須知

java 項(xiàng)目要連接數(shù)據(jù)需要有相應(yīng)的驅(qū)動(dòng)??梢郧巴倬W(wǎng)下載相應(yīng)的驅(qū)動(dòng)包

如果使用 maven 項(xiàng)目,可以在 pom 文件中添加如下依賴(lài):

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.25</version>
</dependency>

注:小編使用的是8.0.25版本的數(shù)據(jù)庫(kù),所以版本號(hào)是8.0.25,不同版本請(qǐng)自行修改。 

連接數(shù)據(jù)庫(kù)與基本操作(代碼附帶注釋?zhuān)?/strong>

import java.sql.*;//導(dǎo)入sql包才能進(jìn)行jdbc操作
public class App {
    public static void main(String[] args){
        String url ="jdbc:mysql://127.0.0.1:3306/";//數(shù)據(jù)庫(kù)主機(jī)地址
        String database ="w3c";//數(shù)據(jù)庫(kù)名
        String encoding = "?characterEncoding=UTF-8";//數(shù)據(jù)庫(kù)字符集
        String username = "root";//連接的用戶名
        String password = "root";//連接的密碼
        String insertSQL = " insert into newtable values (8,'username','123'); ";//插入SQL語(yǔ)句
        String selectSQL = "select * from newtable";//查詢(xún)SQL語(yǔ)句
        Connection connection = null; //初始化數(shù)據(jù)庫(kù)連接
        Statement statement = null; //初始化statement
        try {
             connection= DriverManager.getConnection(url+database+encoding,
                            username, password);//創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接
             statement= connection.createStatement();//創(chuàng)建一個(gè)statement
            //statement是java執(zhí)行數(shù)據(jù)庫(kù)操作的重要接口,用來(lái)執(zhí)行簡(jiǎn)單的sql語(yǔ)句
            // 注意:使用的是 java.sql.Statement,不要不小心使用到: com.mysql.jdbc.Statement;
            statement.execute(insertSQL);//使用excute()方法可以執(zhí)行創(chuàng)建,增加,刪除,插入等SQL語(yǔ)句
            ResultSet result = statement.executeQuery(selectSQL);//使用excuteQuery()可以執(zhí)行查詢(xún)語(yǔ)句,并將結(jié)果集返回給ResultSet
            //數(shù)據(jù)展示方法,不深入介紹
            while(result.next()){//使用next方法可以一行一行的取數(shù)據(jù),如果要全部取出,可以先存在一個(gè)數(shù)組里
                int id=result.getInt(1);//獲取第一列的數(shù)據(jù)
                String user=result.getString(2);//獲取第二列的數(shù)據(jù)
                String pwd=result.getString(3);//獲取第三列的數(shù)據(jù)
                System.out.println("編號(hào):"+id+",用戶名:"+user+",密碼:"+pwd);
                System.out.println("-----------------------");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            // 數(shù)據(jù)庫(kù)的連接時(shí)有限資源,相關(guān)操作結(jié)束后,養(yǎng)成關(guān)閉數(shù)據(jù)庫(kù)的好習(xí)慣
            // 先關(guān)閉Statement
            if (statement != null)
                try {
                    statement.close();//關(guān)閉statement
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            // 后關(guān)閉Connection
            if (connection != null)
                try {
                    connection.close();//關(guān)閉數(shù)據(jù)庫(kù)連接
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
        }
    }
}

到此,關(guān)于“java如何連接數(shù)據(jù)庫(kù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI