まずは公式を参考にする
公式を参考にJDBCドライバーをダウンロードして WEB-INF < lib ディレクトリに入れる。
そして、クラスパスを通す。

コードも公式を参考に。
public class TestDao {
public static void main(String[] args) {
String connectionUrl =
"jdbc:sqlserver://localhost\\SQLEXPRESS:1433;"
+ "database=DB名;"
+ "username=ユーザー名;"
+ "password=パスワード;"
+ "encrypt=true;"
+ "trustServerCertificate=true;";
try (Connection connection = DriverManager.getConnection(connectionUrl);) {
// Code here.
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
}
}
}
SQLServerのユーザー追加
Windows認証はダメだったので下記記事を参考にユーザー追加。
ただ、追加するだけじゃログインできなくてハマった。
DBにすんなり接続できたこと1度もない。
SQLServerサーバー認証を設定 & 再起動
ユーザー権限変更するもまだログインできない。
下記記事を参考にSQLServer自体にSQLServer認証を設定 & 再起動。
がっ!だめ!
ポートが開いてないエラー
ホスト localhost、名前付きインスタンス SQLEXPRESS への接続が失敗しました。 エラー: "java.net.SocketTimeoutException: Receive timed out"。サーバーとインスタンスの名前を調べ、ポート 1434 への UDP トラフィックがファイアウォールにブロックされていないことを確認してください。 SQL Server 2005 以降では、SQL Server Browser サービスがホスト上で実行されていることを確認してください。
「sqlserver ポート」で調べると下記の記事が出てきた。
TCP/IPを有効&ポートの設定
上記の記事を参考にTCP/IPを有効にしてポートを1433に設定する。
さらにSQLServerを再起動する。
やっと接続できた!!!