Java連接SQL Server詳細步驟

教程若有問題,歡迎指出。
未理解的地方,歡迎提問。

一、使用SQL身份驗證

  1. 在連接數(shù)據(jù)庫之前必須保證SQL Server是采用SQL Server身份驗證方式而不是windows身份驗證方式
SQL Server身份驗證
  1. 重新設(shè)置身份驗證

開啟SQL身份驗證
要求重啟,退出程序,再次進入。這一步很重要!

  1. 設(shè)置sa的密碼并啟用sa登錄名

要重新啟動一下,讓配置生效

  1. 使用SQL Server 賬號登陸

二、確認(rèn)連接服務(wù)開啟

1.使用 SQL Server配置管理器 開啟服務(wù)
將所有的服務(wù)開啟

2.檢測端口是否開啟成功:
使用 netstat -ano 查看端口使用情況 存在1433即成功開啟

三、下載并使用JDBC

  1. 下載Microsoft JDBC Driver 7.0 for SQL Server
    官方下載地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=57175

解壓后,根據(jù)自己Java版本選擇相應(yīng)的Jar包


再在系統(tǒng)環(huán)境變量CLASSPATH中添加 ;C:\JDBC\mssql-jdbc-7.0.0.jre10.jar
注意前面有分號

image.png

2.進行連接測試

import java.sql.*;

public class Main {

    public static void main(String[] args)

    {

        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

//將Test換成你自己的數(shù)據(jù)庫名

        String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=Test";

        String userName = "sa";

//將密碼改成自己設(shè)置的密碼

        String userPwd = "qwerty";

        Connection dbConn = null;

        try

        {

            Class.forName(driverName);

            dbConn = DriverManager.getConnection(dbURL, userName, userPwd);

            System.out.println("連接數(shù)據(jù)庫成功");

        }

        catch (Exception e)

        {

            e.printStackTrace();

            System.out.print("連接失敗");

        }

    }

}

以下附上本人的SQL查詢實現(xiàn)代碼:

import java.sql.*;

public class Test {
    public static void main(String[] args) {
        Connection conn;
        Statement stmt;
        ResultSet rs;
        //將”冒險島“修改成自己的數(shù)據(jù)庫名
        String url = "jdbc:sqlserver://localhost:1433;DatabaseName=冒險島;";
        //將Sql語句放在這里,注意不能換行,或者使用 + 進行連接
        String sql = "USE 冒險島 select distinct 一轉(zhuǎn).技能名,一轉(zhuǎn).等級 技能需要等級,一轉(zhuǎn).消耗藍量,一轉(zhuǎn).效果 from 角色,等級,第一職業(yè),一轉(zhuǎn) where 角色.角色名='CotoryX' and 等級.角色名 = 角色.角色名 and 等級.等級>=一轉(zhuǎn).等級 and 一轉(zhuǎn).一轉(zhuǎn)職業(yè)=角色.一轉(zhuǎn)職業(yè)名 union  select distinct 二轉(zhuǎn).技能名,二轉(zhuǎn).等級 技能需要等級,二轉(zhuǎn).消耗藍量,二轉(zhuǎn).效果  from 角色,等級,第二職業(yè),二轉(zhuǎn) where 角色.角色名='CotoryX' and 等級.角色名 = 角色.角色名 and 等級.等級>=二轉(zhuǎn).等級 and 二轉(zhuǎn).職業(yè)名= (select 第二職業(yè).職業(yè)名 from 第二職業(yè) where 第二職業(yè).一轉(zhuǎn)職業(yè)名=(select 角色.一轉(zhuǎn)職業(yè)名 from 角色 where 角色.角色名='CotoryX'))order by 技能需要等級";
        try {
            //將密碼(hes123789)修改成自己的密碼
            conn = DriverManager.getConnection(url, "sa", "hes123789");

            stmt = conn.createStatement();

            rs = stmt.executeQuery(sql);

            while (rs.next()) {
                //從rs對象中獲取信息
                String name = rs.getString("技能名");
                int lv = rs.getInt("技能需要等級");
                String code = rs.getString("效果");
                int cost = rs.getInt("消耗藍量");
                //格式輸出信息
                System.out.println("技能名:" + name + "\t效果:" + code + "\t技能需要等級:" + lv +"\t消耗藍量:" + cost );
            }
            if (rs != null) {
                rs.close();
                rs = null;
            }
            if (stmt != null) {
                stmt.close();
                stmt = null;
            }
            if (conn != null) {
                conn.close();
                conn = null;
            }
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("數(shù)據(jù)庫連接失敗");
        }
    }
}

查詢結(jié)果:

冒險島數(shù)據(jù)庫 Github地址https://github.com/Cotory/MapleStory_SQL_bak

我是 Cotory,樂于分享知識。
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:「在找人改變自己?照照鏡子吧」

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容