Java sql connection open connection

Шаг 3. Подтверждение концепции: подключение к SQL с помощью Java

Этот пример следует рассматривать только как подтверждение концепции. Пример кода упрощен для ясности и для него не гарантируется соблюдение рекомендаций корпорации Майкрософт.

Шаг 1. Подключение

Используйте класс подключения для подключения к базе данных SQL.

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class SQLDatabaseConnection < // Connect to your database. // Replace server name, username, and password with your credentials public static void main(String[] args) < String connectionUrl = "jdbc:sqlserver://yourserver.database.windows.net:1433;" + "database=AdventureWorks;" + "user=yourusername@yourserver;" + "password=yourpassword;" + "encrypt=true;" + "trustServerCertificate=false;" + "loginTimeout=30;"; try (Connection connection = DriverManager.getConnection(connectionUrl);) < // Code here. >// Handle any errors that may have occurred. catch (SQLException e) < e.printStackTrace(); >> > 

Шаг 2. Выполнение запроса

В этом примере следует подключиться к базе данных SQL Azure, выполнить инструкцию SELECT и вернуть выбранные строки.

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SQLDatabaseConnection < // Connect to your database. // Replace server name, username, and password with your credentials public static void main(String[] args) < String connectionUrl = "jdbc:sqlserver://yourserver.database.windows.net:1433;" + "database=AdventureWorks;" + "user=yourusername@yourserver;" + "password=yourpassword;" + "encrypt=true;" + "trustServerCertificate=false;" + "loginTimeout=30;"; ResultSet resultSet = null; try (Connection connection = DriverManager.getConnection(connectionUrl); Statement statement = connection.createStatement();) < // Create and execute a SELECT SQL statement. String selectSql = "SELECT TOP 10 Title, FirstName, LastName from SalesLT.Customer"; resultSet = statement.executeQuery(selectSql); // Print results from select statement while (resultSet.next()) < System.out.println(resultSet.getString(2) + " " + resultSet.getString(3)); >> catch (SQLException e) < e.printStackTrace(); >> > 

Шаг 3. Вставка строки

В этом примере следует выполнить инструкцию INSERT, передать параметры и извлечь автоматически созданное значение первичного ключа.

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class SQLDatabaseConnection < // Connect to your database. // Replace server name, username, and password with your credentials public static void main(String[] args) < String connectionUrl = "jdbc:sqlserver://yourserver.database.windows.net:1433;" + "database=AdventureWorks;" + "user=yourusername@yourserver;" + "password=yourpassword;" + "encrypt=true;" + "trustServerCertificate=false;" + "loginTimeout=30;"; String insertSql = "INSERT INTO SalesLT.Product (Name, ProductNumber, Color, StandardCost, ListPrice, SellStartDate) VALUES " + "('NewBike', 'BikeNew', 'Blue', 50, 120, '2016-01-01');"; ResultSet resultSet = null; try (Connection connection = DriverManager.getConnection(connectionUrl); PreparedStatement prepsInsertProduct = connection.prepareStatement(insertSql, Statement.RETURN_GENERATED_KEYS);) < prepsInsertProduct.execute(); // Retrieve the generated key from the insert. resultSet = prepsInsertProduct.getGeneratedKeys(); // Print the ID of the inserted row. while (resultSet.next()) < System.out.println("Generated: " + resultSet.getString(1)); >> // Handle any errors that may have occurred. catch (Exception e) < e.printStackTrace(); >> > 

Источник

Читайте также:  Get cookies by name in javascript

Подключение Connection

Для соединения с БД необходимо использовать класс Connection пакета java.sql. После установления соединения можно выполнять различные SQL-запросы и получать результаты их обработки сервером. Приложение может открыть одно или несколько соединений с одной или несколькими различными СУБД.

Открытие соединения, getConnection

Стандартный способ установления соединения — это вызов метода getConnection класса DriverManager. Методу getConnection необходимо передать строку URL (Uniform Resource Locator). Стандарт подключения к серверу базы данных позволяет использовать следующие методы getConnection с параметрами:

getConnection(url); getConnection(url, properties); getConnection(url, username, password);

При использовании первого варианта, все параметры подключения указываются в url.

В следующей таблице представлен JDBC driver и синтаксис строки URL для подключения к СУБД.

СУБД Драйвер JDBC URL
Oracle oracle.jdbc.OracleDriver jdbc:oracle:oci[OCI_VERSION]:@[HOST_NAME]
Oracle oracle.jdbc.OracleDriver jdbc:oracle:thin:@ [HOST_NAME]:[PORT_NUMBER]:[DATABASE_NAME]
MSSQL com.microsoft.jdbc.sqlserver.SQLServerDriver jdbc:microsoft:sqlserver: //[HOST_NAME]:[PORT_NUMBER]
PostgreSQL org.postgresql.Driver jdbc:postgresql: //[HOST_NAME]:[PORT_NUMBER] /[DATABASE_NAME]
MySQL com.mysql.jdbc.Driver jdbc:mysql://[HOST_NAME]:[PORT_NUMBER] /[DATABASE_NAME]

Подключение к СУБД Oracle, jdbc oracle

К серверу БД Oracle можно подключиться как через тонкий клиент, так и через толстый.

Пример подключения через тонкий клиент:

String host = "localhost"; int port = 1521 ; String sid = "SE" ; String user = "SCOTT" ; String pwd = "TIGER" ; try < Class.forName("oracle.jdbc.driver.OracleDriver"); >catch (ClassNotFoundException e) < System.out.println("Oracle JDBC Driver is not found"); e.printStackTrace(); exit (-1); >String url = String.format("jdbc:oracle:thin:@%s:%d:%s", host, port, sid); Connection connection = null; try < connection = DriverManager.getConnection(url, user, pwd); >catch (SQLException e) < System.out.println("Connection Failed : " + e.getMessage()); exit (-1); >if (connection != null) < System.out.println("You made it, take control your database now!"); >else < System.out.println("Failed to make connection!"); >connection.close();

При подключении через толстый клиент, host и port не указываются :

String sid = "SE" ; String user = "SCOTT" ; String pwd = "TIGER" ; . String url = String.format("jdbc:oracle:oci8:@%s", sid); Connection connection = null; try < connection = DriverManager.getConnection(url, user, pwd); >catch (SQLException e) < System.out.println("Connection Failed : " + e.getMessage()); >.

Подключение к СУБД MS SQL, jdbc sql

Строка URL-адреса подключения имеет следующий вид:

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
  • jdbc:sqlserver:// — обязательно, подпротокол.
  • serverName — необязательно, адресом сервера, с которым выполняется соединение. Это может быть DNS, IP-адрес, локальный узел или 127.0.0.1 локального компьютера. Имя сервера необходимо указать в коллекции свойств, если оно не указано в URL-адресе соединения.
  • instanceName — необязательно, наименование базы данных сервера, с которым выполняется соединение. Подключение выполняется к базе данных по умолчанию, если не указана другая.
  • portNumber — необязательно, порт, который слушает сервер. Значение по умолчанию — 1433. Если соединение выполняется с портом по умолчанию, то в URL-адресе необязательно указывать порт.

Дополнительные свойства указывается в формате ключ=значение.

Примеры установления соединения с сервером БД

// Подключение к БД по умолчанию на localhost: jdbc:sqlserver://localhost;user=userName;password=*****; // Подключение к БД по умолчанию наlocalhost со встроенной проверкой безопасности: jdbc:sqlserver://localhost;integratedSecurity=true; // Подключение к именованной БД: jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true; // Подключение к именованной БД с использованием порта по умолчанию: jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks;integratedSecurity=true; // Подключение к именованной БД с указанием настраиваемого имени приложения: jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp;

Подключение к СУБД PostgreSQL, jdbc postgresql

Для подключения к серверу БД PostgreSQL необходимо использовать один из следующих URL:

jdbc:postgresql:database jdbc:postgresql://host/database jdbc:postgresql://host:port/database jdbc:postgresql://host:port

host — имя сервера, по умолчанию «localhost».

port — порт, который слушает сервер. По умолчанию используется порт 5432.

database — наименование базы данных. По умолчанию используется база данных postgres.

Примеры jdbc postgresql :

String url1 = "jdbc:postgresql://localhost/test?user=postgres&password=secret&ssl=true"; String url2 = "jdbc:postgresql://localhost/test"; String user = "postgres"; String pwd = "secret"; Properties props = new Properties (); props.setProperty("user" , user ); props.setProperty("password", pwd ); props.setProperty("ssl" ,"true"); Connection connection1 = DriverManager.getConnection(url1); Connection connection2 = DriverManager.getConnection(url2, props); Connection connection3 = DriverManager.getConnection(url2, user, pwd);

Подключение к СУБД MySQL, jdbc mysql

String driver = «com.mysql.jdbc.Driver»; String url = «jdbc:mysql://localhost:3306/»; String dbName = «. «; String userName = «. «; String password = «. «; try < Class.forName(driver).newInstance(); Connection conn = DriverManager.getConnection(url + dbName, userName, password); if (conn != null) System.out.println ("Приложение подключилось к БД !"); else System.out.println ("Приложение НЕ подключилось к БД ?"); conn.close(); >catch (Exception e)

Пример динамической загрузки JDBC-драйвера и подключение к серверу рассмотрен здесь.

Источник

Оцените статью