Ako použiť prístup k databázam MS SQL Serveru cez JDBC v Mavene? S NetBeansom je to omnoho ľahšie než by sa zdalo. Budeme potrebovať:
- JDBC ovládače k MS SQL Serveru
- Maven na správu závislostí
- NetBeans ako klikací nástroj pre Maven a IDE pre kódenie
JDBC ovládače
- Stiahneme archív s JDBC ovládačom z portálu Microsoft MSDN.
- Na Windowse si vyberieme
.exe
súbor s automatickým inštalátorom - Spustením súboru ho rozbalíme do adresára s názvom bez medzier, ideálne s cestou, ktorá obsahuje len krátke názvy (8.3)
- V rozbalenom adresári nájdeme dva súbory:
sqljdbc4.jar:
ovládač pre JDBC 4.0 určený pre Javu 6 a 7.sqljdbc.jar
: ovládač pre JDBC 3.0 určený výhradne pre Javu 5
- poznamenáme si názov triedy pre samotný ovládač:
com.microsoft.sqlserver.jdbc.SQLServerDriver
Maven a MS SQL ovládač
Mavenovské centrálne úložisko neobsahuje JAR archívy pre JDBC ovládač k tejto databáze, zrejme z licenčných dôvodov. Napriek tomu môžeme tento JAR súbor ručne nainštalovať do lokálneho mavenovského úložiska.
Inštalácia v NetBeanse
Do projektu pridáme závislosť tradičným spôsobom: napr. pravým klikom na Dependencies a zvolením Add Dependency…
Vyplníme ručne koordináty pre závislosť. V tomto prípade, prirodzene, sa artefakt k JDBC ovládaču v mavenovskom úložisku nenachádza. Vyplnením údajov vytvoríme mavenovské metadáta (popis) závislosti, ktorú v ďalšom kroku vložíme do lokálneho úložiska Mavenu ručne. Koordináty môžu byť:
- Group ID: com.microsoft
- Artifact ID: sqljdbc4
- Version: 4.0.2206.100 (prevzatá z názvu inštalátora ovládača stiahnutého z MSDN).
Všimneme si, že závislosť sa už zjavila v projekte. Keďže k nej neprislúcha žiaden reálny JAR súbor, je označená výkričníkom.
Všimneme si, že závislosť sa už zjavila v projekte. Keďže k nej neprislúcha žiaden reálny JAR súbor, je označená výkričníkom.
Teraz manuálne nainštalujeme JAR súbor do lokálneho úložiska. Pravým kliknutím na názov artefaktu (sqljdbc4.4.0.2206.100.jar) zobrazíme dialóg.
V dialógu určíme cestu k JAR archívu s JDBC ovládačom.
Ručná inštalácia
Namiesto NetBeansu môžeme nainštalovať JAR artefakt do lokálneho úložiska Mavenu aj ručne. Ak máme stiahnutý Maven a príkaz mvn
existuje v premennej prostredia PATH
, môžeme spustiť:
mvn install:install-file -DartifactId=sqljdbc4 -DgroupId=com.microsoft -Dversion=4.0.2206.100 -Dpackaging=jar -Dfile=C:\\java\\mssqljdbc\\sqljdbc4.jar -DgeneratePom=false
Testovací kód
Ak sa chceme pripojiť k databáze teplaky
, adresa URL pre prístup k lokálnemu serveru bude vyzerať nasledovne:
jdbc:sqlserver://localhost:1433;databaseName=teplaky
Kompletný kód pre pripojenie:
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDriverRunner {
public static void main(String[] args) {
SQLServerDataSource dataSource = new SQLServerDataSource();
dataSource.setURL("jdbc:sqlserver://localhost:1433;databaseName=teplaky");
dataSource.setUser("paz1c");
dataSource.setPassword("a");
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
connection = dataSource.getConnection();
statement = connection.createStatement();
resultSet = statement.executeQuery("SELECT COUNT(*) FROM TEPLAKY");
while(resultSet.next()) {
System.out.println("Pocet teplakov:" + resultSet.getInt(1));
}
} catch (SQLException e) {
if(resultSet != null) {
try {
resultSet.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if(statement != null) {
try {
statement.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if(connection != null) {
try {
connection.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
}
Pramene
- System Requirements for the JDBC Driver @ technet.microsoft.com
- Using the JDBC Driver @ technet.microsoft.com